我的引用用户自定义控件代码:
<%@ Register Src="../WebControls/SelectDepartDefault.ascx" TagName="SelectDepartDefault"
    TagPrefix="uc1" %>
这个控件的功能:
是接受参数,经过运算,返回结果
控件的属性代码:
    decimal departSeleDisId;
    //默认要显示的所属单位编号
    public decimal DepartSeleDisId
    {
        get { return departSeleDisId; }
        set { departSeleDisId = value; }
    }    decimal departSeleUnitDisId;
    //默认要显示的出警单位编号
    public decimal DepartSeleUnitDisId
    {
        get { return departSeleUnitDisId; }
        set { departSeleUnitDisId = value; }
    }这个控件不放在Formview中运行正常,放在formview中,给属性赋值:
        this.SelectDepartDefault2.DepartSeleDisId = Convert.ToDecimal(1);
        this.SelectDepartDefault2.DepartSeleUnitDisId = Convert.ToDecimal(2);错误提示:提示:“未将对象引用设置到对象的实例”

解决方案 »

  1.   


    public decimal DepartSeleDisId 
        { 
            get { return ViewState["DepartSeleDisId"]==null?0:Convert.ToDecimal(ViewState["DepartSeleDisId"]); } 
            set { ViewState["DepartSeleDisId"]= value; } 
        }    
        //默认要显示的出警单位编号 
        public decimal DepartSeleUnitDisId 
        { 
            get { return ViewState["DepartSeleUnitDisId "]==null?0:Convert.ToDecimal(ViewState["DepartSeleUnitDisId "]); } 
            set { ViewState["DepartSeleUnitDisId "]= value; } 
        } 
      

  2.   

    谢谢楼上。
     protected void  Page_Load(object sender, EventArgs e)
        {
            this.SelectDepartDefault2.DepartSeleDisId = Convert.ToDecimal(1);
            this.SelectDepartDefault2.DepartSeleUnitDisId = Convert.ToDecimal(2);                        
            if (!Page.IsPostBack)//第一次打开页面
            {
                
                InitDrop();
            }        
            InitNewState();
           
        }
    按照上面说的改了用户自定义控件的属性,但是还是那个错误。
      

  3.   

    WebControls_SelectDepartDefault SelectDepartDefault2 = (WebControls_SelectDepartDefault)this.FormView1.FindControl("UpdatePanel3").FindControl("SelectDepartDefault2");
     
    问题解决了,呵呵,谢谢网友tm的帮助。
    同时也解决三级包含控件的问题。