protected void Page_Load(object sender, EventArgs e)
    { 
        Database_Con();
        command.CommandText = "select *  from th_controlsystem";       
        dataAdapter.SelectCommand = command;
        OleDbDataReader datareader=command.ExecuteReader();
        
        while (datareader.Read())
        {
            System.Web.UI.WebControls.TableRow tr = new TableRow();
            System.Web.UI.WebControls.TableCell tc = new TableCell();
            UserControl uccs = (UserControl)this.LoadControl("UCControlSystem.ascx");
            uccs.SystemNo = datareader["conts_serail"];
            tc.Controls.Add(uccs);
            tr.Controls.Add(tc);
        }
    }
用户控件为:
public partial class UserControlSystem : System.Web.UI.UserControl
{
    private string systemno;
    public string SystemNo{
        set {
            this.systemno = value;
           }
    }
    private void Page_Load(object sender, EventArgs e)
    {    }
}
在设置uccs的属性SystemNo时,提示SystemNo未定义,怎么回事,我已经写了
<%@ Register Src="UCControlSystem.ascx" TagName="UCControlSystem" TagPrefix="uc3" %>

解决方案 »

  1.   

    UserControl uccs = (UserControl)this.LoadControl("UCControlSystem.ascx"); 
                uccs.SystemNo = datareader["conts_serail"]; 
                tc.Controls.Add(uccs); 
                tr.Controls.Add(tc); 您看您是不是UserControl uccs = (UserControl)this.LoadControl("UCControlSystem1.ascx");啊?
      

  2.   

    你看控件拖进去之后,在你的cs里,再声明下,
    private UCControlSystem UCControlSystem1;然后再你的上面代码里用
    UCControlSystem1.SystemNo = datareader["conts_serail"]; 即可
      

  3.   

    UCControlSystem.ascx  
    public partial class UserControlSystem : System.Web.UI.UserControl 
    这两个也不符啊,你是些错了吧?!
      

  4.   

    我是通过程序代码添加一个用户控件,这时就找不到属性SystemNo,通过这样<TagPrefix: TagName id=“uc1”runat="server"/>创建,可以访问到属性uc1.SystemNo.
      

  5.   

    做一个类型的强制转换,应该就可以访问了。UserControl uccs = (UserControl)this.LoadControl("UCControlSystem.ascx"); 
    这里的 uccs 变量是 UserControl 类型,当然没有你自己写的那个属性了。
    这里可以定义成你自己用户控件的类型。
      

  6.   

    我已经告诉你了
    需要声明一下
    private UCControlSystem uccs; 
    然后你那样才可以!
      

  7.   

    UserControl uccs = (UserControl)this.LoadControl("UCControlSystem.ascx"); 
    改为
    UCControlSystem uccs = (UCControlSystem)this.LoadControl("UCControlSystem.ascx");