Page类调用哪个方法来实例化其控件?我想覆盖它,以便能够仅实例化某些控件。
答案 0 :(得分:1)
这里有一个很好的解释:ASP.NET Page Life Cycle Overview
如果你进行ASP.NET Web表单开发,必须阅读这样的文章。
只是你在使用Page_Load和Page_Init时没有线索就有了一些背景知识,在文章中有一个表格,其中包含正确顺序的所有事件列表以及每个事件的完整说明。
答案 1 :(得分:0)
如果你的控件没有动态实例化,那么正常页面生命周期中的就不能。
答案 2 :(得分:0)
如果你打开反射器它有一个叫做的函数:
loadControlRecursivly(或类似的东西) - 那就是他所做的事。
答案 3 :(得分:0)
这里是:
internal virtual void LoadRecursive()
{
if (this._controlState < ControlState.Loaded)
{
if (this._adapter != null)
{
this._adapter.OnLoad(EventArgs.Empty);
}
else
{
this.OnLoad(EventArgs.Empty);
}
}
if ((this._occasionalFields != null) && (this._occasionalFields.Controls != null))
{
string errorMsg = this._occasionalFields.Controls.SetCollectionReadOnly("Parent_collections_readonly");
int count = this._occasionalFields.Controls.Count;
for (int i = 0; i < count; i++)
{
this._occasionalFields.Controls[i].LoadRecursive();
}
this._occasionalFields.Controls.SetCollectionReadOnly(errorMsg);
}
if (this._controlState < ControlState.Loaded)
{
this._controlState = ControlState.Loaded;
}
}