【发布时间】:2014-07-30 08:07:36
【问题描述】:
我正在尝试利用 Asp.NET 中的页面生命周期,这样我绑定到数据源的次数不会超过我实际需要的次数。
这导致了以下问题。我的页面上有一个 ObjectDataSource、GridView 和一个按钮。该按钮将一条记录添加到数据库中,该记录应由数据源拾取并显示在网格上。问题是在我刷新页面之前,该项目不会显示在网格视图上。
我可以通过在按钮的事件处理程序中调用 GridView.DataBind() 来解决问题,但这与我对 .NET 页面生命周期的理解背道而驰。
基于这个article,生命周期应该如下:
此外,文章指出数据绑定事件是“在控件的 PreRender 事件之后引发的,该事件发生在页面的 PreRender 事件之后。”
所以,我的按钮点击事件应该在事件处理阶段首先触发。它应该将记录添加到数据库中。 应该在控件上调用下一个 PreRender。 最后,应在控件上调用 DataBind,并更新 Grid 以捕获新记录。
然而这似乎并没有发生。我不明白什么?
【问题讨论】:
标签: asp.net .net gridview data-binding web