C#.NET,回发发生在事件处理程序执行之前?

标签 c# asp.net sql

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

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

最佳答案

没错。 Control EventsPage Load 事件之后处理。

评论 this documentation关于来自 MSDN 的 Page Lifecycle

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

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

关于C#.NET,回发发生在事件处理程序执行之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411058/

相关文章:

c# - 从基于索引的正则表达式中获取反向引用基于名称的正则表达式

c# - 显示 :inline-block not always working

c# - 并行图像处理伪影

MySQL - 选择行

php - 如果存在多个字段,则仅使用一个字段 - mysql

c# - Silverlight 中的请求对话框

asp.net - IPrincipal 或 Membership 来检索用户名

asp.net - 如何修复 System.Data.SqlClient.SqlException : Timeout expired

asp.net - NLog是否可以与customErrors一起使用?

mysql - 如何修复mysql上的相关子查询