我看到有些人在同一个aspx页面中使用Page_Load和Page_PreRender。我可以确切地知道为什么我们需要在同一个asp.net页面中调用这两种方法?
请看下面的代码
protected void Page_Load(object sender,EventArgs e) { try { dprPager.ButtonClickPager += new EventHandler(dprPager_ButtonClickPager); if (!Page.IsPostBack) { InitPager(); } } catch (Exception ex) { } } protected void Page_PreRender(object sender,EventArgs e) { erMsg.Visible = !string.IsNullOrEmpty(lblError.Text); }
解决方法
这取决于你的要求。
页面加载:执行所有请求通用的操作,例如设置数据库查询。此时,创建和初始化树中的服务器控件,还原状态,窗体控件反映客户端数据。请参阅处理继承的事件。
预渲染:在渲染之前执行任何更新。在预渲染阶段对控制状态进行的任何更改都可以保存,而渲染阶段所做的更改将会丢失。请参阅处理继承的事件。
参考:控制执行生命周期MSDN
尝试阅读
ASP.NET Page Life Cycle Overview ASP.NET
问候