我有UserControl
作为FormView
的模板,但是根据它是处于编辑模式还是插入模式,需要禁用其中一个TextBox
控件。我在UserControl
public bool IsInsert
{
get { return txtUser.Enabled; }
set { txtUser.Enabled = value; }
}
但我无法在父母UserControl
事件中获得Page_Load
的引用。我在aspx代码中定义了控件(不是代码隐藏)。我尝试使用FindControl
,但收到错误Object reference not set to an instance of an object
。这是因为UserControl
在页面后加载了吗?是否有其他方法可以有条件地禁用TextBox
?
答案 0 :(得分:1)
这不是一个好习惯 - User Control
应该单独决定这种东西......
但如果需要这样做:
public void Page_Load(object sender, EventArgs e)
{
InitYouUserControl();
}
更新
您必须等到load event
的{{1}}被解雇。
要访问User Control
的某些部分,您应该在其中定义一个属性。