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

ASP.NET页面事件-按钮单击事件发生在GridView绑定之后,asp.net,data-binding,events,page-lifecycle,Asp.net,Data Binding,Events,Page Lifecycle,我对页面事件顺序的理解如下: 页面:加载 控件:数据绑定(用于GridView或其他类型) 控制:加载 控件:单击(用于按钮) 页面:预渲染 控件:预渲染 (还有很多其他的,但这些是我感兴趣的) 这里需要注意的重要一点是按钮的click事件发生在gridview的bind事件之后。如果该按钮导致数据更改,GridView将显示旧数据。我可以在PreRender事件中重新绑定控件,但这看起来非常糟糕 这必须是一种非常常见的模式(更新数据的按钮)。我如何将其组合在一起,以便GridView在按钮单击

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

页面:加载

控件:数据绑定(用于GridView或其他类型)

控制:加载

控件:单击(用于按钮)

页面:预渲染

控件:预渲染

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

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


这必须是一种非常常见的模式(更新数据的按钮)。我如何将其组合在一起,以便GridView在按钮单击更改数据后绑定到数据?

按钮单击事件出现在GridView绑定之后的唯一原因是您将页面编程为这样做。我认为在PreRender事件中绑定控件没有任何问题,事实上,这是在控件事件(例如Button onclick)之后采取操作的唯一方法

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

答案在按钮单击事件中,在数据更改后,调用页面上的DataBind()以使GridView(以及任何需要它的内容)重新绑定。我不知道你能做到


谢谢Ocdeio&Mufasa-我认为你的回答很有帮助,但我还没有得到任何评价。

我也没有得到评价,不管怎么说,与Ocdeio相比也没有