页面包含自定义地址控件和checkBox。为什么第二个代码示例正常工作,但首先没有?
//1
protected void Page_Init(object sender, EventArgs e)
{
//doesn't work properly
ucLegalAddress.Visible = !chkLegalAddress.Checked;
}
//2
protected void Page_Load(object sender, EventArgs e)
{
//works properly
ucLegalAddress.Visible = !chkLegalAddress.Checked;
}
答案 0 :(得分:11)
因为控件的视图状态是在init和load事件之间加载的。这意味着init事件还不知道客户端的状态。
答案 1 :(得分:2)
因为所有控件都是在OnInit()方法中创建的,所以在Page_Init和Page_Load之间调用。在Page_Init中,所有控件都为null。 Read more