1

在我的网页中,我有一个在 Page_Load 方法中创建的 gridview,它从数据库表中检索一些值。我还有一个按钮,单击该按钮会导致事件处理程序从表中添加/删除行。目前,当我按下按钮时,事件处理程序会运行,但在发生另一个回发之前,gridview 不会更新。

对我来说,这似乎意味着回发发生在事件处理程序执行之前。它是否正确?如果是这样,我怎样才能使按下按钮更新表格,然后重新加载gridview?我想我可以在事件处理程序中重新创建 gridview 数据源,但这似乎是解决问题的一种非常低效的方法。

4

1 回答 1

6

那是对的。Control Events事后处理Page Load

查看有关来自 MSDN的文档。Page Lifecycle

有助于您理解这一点的方法是在Page_Load方法和Button Click事件处理程序的代码中设置断点,然后单击按钮并查看每个断点何时被命中。

对于您的Gridview,您必须再次调用您的绑定代码,以便在回发后显示您的更改。最好的方法是使用绑定代码创建一个方法,并从事件处理程序中调用它。

于 2012-09-13T16:49:32.597 回答