标签: preinit

与在PreInit Init中创建和添加控件的区别

网上有关于ASP.NET生命周期的大量信息,但我似乎无法弄清楚何时动态添加控件到页面.

一般来说有两种情况; 一个包含母版页的aspx页面,另一个没有.我正在阅读的这本书(70-515自我准备)说要在preinit事件处理程序中为没有母版页的页面添加控件.要动态地将控件添加到内容页面,我应该将该逻辑放在init事件处理程序中.

根据MSDN(http://msdn.microsoft.com/en-us/library/ms178472.aspx),我应该在preinit事件处理程序中创建或重新创建动态控件,并且只读取或初始化init事件处理程序中的控件属性(对我来说最有意义).谷歌搜索我看到很多人使用init eventhandler添加控件.

所以,我在这里有点迷失 - 这是正确的方法吗?当使用preinit事件处理程序时,如果所有控件都为null,如何在页面中添加控件?例如,当您需要将动态创建的文本框添加到面板控件时?

亲切的问候,

asp.net page-lifecycle init preinit

10
推荐指数
1
解决办法
9717
查看次数

如何在ASP.NET PreInit事件中获得控制权?

如何在ASP.NET PreInit事件中获得控制权?指针为null,FindControl方法返回null.

我正在使用主页和内容页面.内容页面的标记如下所示:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentBody" runat="server">
   <asp:Table ID="Table1" runat="server" Width="100%">
      .....
   </asp:Table>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

像这样的代码:

private void Page_PreInit(object sender, EventArgs e)
{
    Control table = this.FindControl("Table1");
    //table is null here
}
Run Code Online (Sandbox Code Playgroud)

因此,在this.FindControl("Table1")之后,表仍然为null.该页面的NamingContainer也为null.我究竟做错了什么?

更新我必须使用此事件来创建控件.如ASP.NET页面生命周期概述中所述,此事件应用于动态控件创建.我需要在表格中创建一个链接列表.可能还有另一种方法吗?

asp.net null controls preinit

8
推荐指数
1
解决办法
2万
查看次数

为什么母版页在ASP.NET中没有PreInit事件?

以下是主页与内容页合并时发生事件的顺序:

Content page PreInit event.
Master page controls Init event.
Content controls Init event.
Master page Init event.
Content page Init event.
Content page Load event.
Master page Load event.
Master page controls Load event.
Content page controls Load event.
Content page PreRender event.
Master page PreRender event.
Master page controls PreRender event.
Content page controls PreRender event.
Master page controls Unload event.
Content page controls Unload event.
Master page Unload event.
Content page Unload event.
Run Code Online (Sandbox Code Playgroud)

但为什么母版页没有PreInit活动ASP.NET …

asp.net master-pages preinit

5
推荐指数
1
解决办法
8098
查看次数

标签 统计

asp.net ×3

preinit ×3

controls ×1

init ×1

master-pages ×1

null ×1

page-lifecycle ×1