在我的网页中,我有一个 gridview,它是在 Page_Load 方法中创建的,它从数据库表中检索一些值。我还有一个按钮,单击该按钮会导致事件处理程序从表中添加/删除行。目前,当我按下按钮时,事件处理程序运行但 gridview 不会更新,直到发生另一个回发。
对我来说,这似乎意味着回发发生在事件处理程序执行之前。它是否正确?如果是这样,我怎样才能使按下按钮更新表格然后重新加载 gridview?我想我可以在事件处理程序中重新创建 gridview 数据源,但这似乎是解决问题的一种非常低效的方法。
最佳答案
没错。 Control Events
在 Page Load
事件之后处理。
评论 this documentation关于来自 MSDN 的 Page Lifecycle
。
在您的 Page_Load
方法和您的 Button Click
事件处理程序的代码中设置断点可能有助于您理解这一点,然后单击按钮并查看当遇到每个断点时。
对于您的 Gridview
,您必须再次调用您的绑定(bind)代码,以便您的更改在回发后显示。最好的方法是使用绑定(bind)代码创建一个方法,然后从事件处理程序中调用它。
关于C#.NET,回发发生在事件处理程序执行之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411058/