ASP.NET页面事件-按钮点击事件在GridView绑定之后发生

6

我对页面事件的顺序的理解如下:

页面:加载

控件:数据绑定(对于GridView或其他控件)

控件:加载

控件:点击(对于按钮)

页面:预呈现

控件:预呈现

(还有很多其他事件-但我只关心这些)

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

这一定是一个非常常见的模式(一个更新数据的按钮)。我该如何组合它们,以便GridView在按钮单击更改数据之后绑定到数据?

3个回答

2
在按钮单击事件中,答案在数据已更改后,调用页面上的DataBind()方法来导致GridView(以及其他需要它的内容)重新绑定。我之前并没有意识到这一点。
感谢Ocdecio和Mufasa - 我会标记你们的答案为有帮助的,但我还没有声望。

我还没有声望,无论如何都无法与ocdecio相比! :) - Jon Adams

1

ASP.NET默认会进行大量的绑定和重新绑定。在单击事件之后重新绑定是正常的。


0
唯一的原因是按钮点击事件在GridView绑定之后是因为您编写了页面来执行此操作。我认为在PreRender事件中绑定控件没有任何问题,事实上这是在控件事件(如Button onclick)之后执行操作的唯一方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接