我看到有些人在同一个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);
}
Run Code Online (Sandbox Code Playgroud)
Biz*_*pps 29
这取决于您的要求.
页面加载:执行所有请求共有的操作,例如设置数据库查询.此时,将创建并初始化树中的服务器控件,恢复状态,并且表单控件反映客户端数据.请参阅处理继承的事件.
Prerender:在呈现输出之前执行任何更新.可以保存在预渲染阶段对控件状态所做的任何更改,而在渲染阶段中进行的更改将丢失.请参阅处理继承的事件.
参考:Control Execution Lifecycle MSDN
试着读一下
问候
小智 28
Page_Load和之间的主要区别在于Page_PreRender,在Page_Load方法中,并非所有页面控件都已完全初始化(加载),因为Load()尚未调用单个控件方法.这意味着树还没有准备好渲染.在Page_PreRender您保证所有页面控件都已加载并准备好呈现.从技术上讲,这Page_PreRender是您在转换为HTML流之前调整页面的最后机会.
| 归档时间: |
|
| 查看次数: |
169340 次 |
| 最近记录: |