在Page_PreRender和Page_Load中绑定GridView的好处是什么?

时间:2010-02-05 05:28:25

标签: asp.net

假设我有一个asp:GridView,其中包含一些客户信息。在该页面上,我还有一个按钮,允许我向GridView添加新用户。当我添加单击用户时,我再次在按钮单击中对数据视图进行数据绑定。如果我错了,请纠正我,但如果asp.net生命周期或至少部分生命周期按以下顺序排列:

的Page_Load Hookup事件处理程序,例如我的按钮单击 page_preRender

这是否意味着如果我将gridview的数据绑定放在preRender中,那么我唯一需要担心的是调用它。我可以从按钮点击中删除它。这是我的想法,但我不确定我的想法是否正确,所以我想更深入地了解在PreRender中放置代码而不是PageLoad的好处

1 个答案:

答案 0 :(得分:1)

通过PreRender,您可以假设页面中大多数会影响绑定结果的逻辑已经完成(通常在Page_Load,但实际上在之前的任何地方)。

默认情况下,.Net框架中的控件在PreRender事件中进行绑定(有意义的是,在最后可能的时刻绑定到数据源...可能是您在生命周期中更早地将数据更改了400次)Here's the full layout of the 2.0 lifecycle供参考。

  

PreRender - 在此事件发生之前:

     
      
  • Page对象为每个控件和页面调用EnsureChildControls。
  •   
  • 设置了DataSourceID属性的每个数据绑定控件都调用其DataBind方法。有关详细信息,请参阅本主题后面的数据绑定控件的数据绑定事件。
  •   
     

页面上的每个控件都会发生PreRender事件。使用该事件对页面内容或其控件进行最终更改。

相关问题