我的内容页面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

09-18 08:28