我的内容页面default.aspx中有以下标记:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentBody" runat="server">
<asp:label ID="label1" runat="server"></label>
</asp:Content>
在PreInit事件中访问标签时,错误显示为-对象引用未设置为对象的实例
private void Page_PreInit(object sender, EventArgs e)
{
label1.Text = "Inside PreInit";
}
我究竟做错了什么 ?有没有办法在Page PreInit事件中获取Asp.NET Web控件?
最佳答案
否。PreInit
是错误的位置。根据MSDN,控件将被初始化,然后调用Init
。
https://msdn.microsoft.com/en-us/library/ms178472.aspx#lifecycle_events
您应该考虑重新设计逻辑,以将任何数据传递给Init
。