在我的网页中,我有一个gridview,它在Page_Load方法中创建,从数据库表中检索一些值。我还有一个按钮,当单击时,会导致一个事件处理程序,它从表中添加/删除行。目前,当我按下按钮时,事件处理程序会运行,但在发生另一次回发之前不会更新gridview。
对我来说,似乎这意味着回发发生在执行事件处理程序之前。它是否正确?如果是这样,我怎样才能按下按钮更新表格,然后重新加载gridview?我想我可以在事件处理程序中重新创建gridview数据源,但这似乎是解决问题的一种非常低效的方法。
答案 0 :(得分:6)
这是正确的。在Control Events
事件后处理Page Load
。
对来自MSDN的Page Lifecycle
进行审核this documentation。
有什么可以帮助您理解这一点是在Page_Load
方法和Button Click
事件处理程序的代码中设置断点,然后单击按钮,查看每个断点何时被点击。< / p>
对于Gridview
,您必须再次调用绑定代码才能在回发后显示更改。最好的方法是使用绑定代码创建一个方法,并从事件处理程序中调用它。