6

我对页面事件顺序的理解是这样的:

页面:加载

控制:DataBind(用于 GridView 或其他)

控制:负载

控制:单击(对于按钮)

页面:预渲染

控制:预渲染

(还有很多其他的——但这些是我感兴趣的)

这里要注意的重要一点是按钮的单击事件发生gridview 的绑定事件之后。如果按钮导致数据发生更改,则 GridView 将显示旧数据。我可以在 PreRender 事件中重新绑定控件,但这看起来非常难看。

这一定是一个非常常见的模式(一个更新数据的按钮)。如何将它放在一起,以便 GridView在 Button 单击更改后绑定到数据?

4

3 回答 3

2

答案在 Button Click 事件中,在数据更改后,在页面上调用 DataBind() 以使 GridView(以及其他任何需要它的东西)重新绑定。我不知道你能做到这一点。

谢谢 Ocdecio 和 Mufasa - 我会将您的回答标记为有帮助,但我还没有代表。

于 2009-02-16T04:08:09.087 回答
1

默认情况下,ASP.NET 会进行大量绑定和重新绑定。点击事件后重新绑定是正常的。

于 2009-02-16T02:06:45.650 回答
0

GridView 绑定之后出现按钮单击事件的唯一原因是您对页面进行了编程以执行该操作。我看不出在 PreRender 事件中绑定控件有什么问题,事实上这是在控件事件(例如 Button onclick)之后采取行动的唯一方法。

于 2009-02-16T01:36:36.423 回答