ASP.net Usercontrol Base和child如何初始化Base控件?

时间:2010-10-12 07:56:03

标签: c# asp.net user-controls

HI,

1.创建包含标签的Base usercontrol,并将其文本设置为“test1”,这在ascx页面中设置。    2.创建一个继承自基本用户控件的用户控件。    3.现在在子控件的页面加载上我尝试:

protected override void Page_Load(object sender,EventArgs e) {         //由于Label1为null而抛出此异常         this.Label1.Text =“sasasas”;

}

但是我得到一个例外,因为Label1为空。

aonyone可以告诉我如何在创建子控件时初始化基本控件控件吗?

感谢 尼尔

1 个答案:

答案 0 :(得分:1)

正如RPM1984评论的那样:不要从Webusercontrol继承,而是将其嵌套在其他Usercontrol中。当您将“控件”(例如您的Label或其Text属性)作为“父”-UC中的属性公开时,您可以从“子”-UC访问它。

此外,始终使用LoadControl初始化动态添加的Usercontrol而不是构造函数(可能是Textbox为NULL的原因)。