从本地论坛我了解PreInit可用于处理以下
PreInit()
>Master pages can be called dynamically
>Themes can be set dynamically
>Programatically add controls to controls collection
我读了Init()是为了
Init()
在这种情况下,我们可以读取控件属性(在设计时设置)。 我们无法读取用户更改的控件值 ,因为在LoadPostData()事件触发后,该更改的值将被加载。
问题
我没有得到“我们无法读取用户改变的控制值”这一点 用户改变控制的价值?。例子可以帮助我理解这一点。
答案 0 :(得分:2)
在第一篇文章中,您会显示几个控件,例如文本框和提交按钮。
用户在文本框中键入代码,然后单击“提交”。
用户在文本框中键入控件后更改了控件的值,然后将其发布回页面。
在处理LoadPostData
之前,您将无法访问输入的值。
这与所有其他服务器端控件几乎相同。
答案 1 :(得分:2)
假设您有一个文本框,一个下拉列表,一些复选框......用户将数据输入到它们中,您希望通过编写来读取它们的值
var text = myTextBox.Text;
var selectedItem = ddl.SelectedItem;
这是你在调用LoadPostData
方法之前无法做到的。
此页面提供了不同事件的完整摘要以及它们应用于http://msdn.microsoft.com/en-us/library/ms178472.aspx的内容。它说PreInit
应该用于ie。创建动态控件和Init
来设置它们的属性。
答案 2 :(得分:1)
PreInit:在开始阶段完成之后和初始化阶段开始之前引发。 将此事件用于以下事项:
初始化:在初始化所有控件并应用了所有外观设置后触发。单个控件的Init事件发生在页面的Init事件之前。
答案 3 :(得分:0)
通过PostBack更改值。表单数据的更改由当前ViewState(直到稍后才加载)与表单数据确定。看到直到稍后才加载,那么你无法在那时读取任何控制值。
答案 4 :(得分:0)
PreInit: 初始化母版页,用户控件,动态控件
初始: 设置控件的属性