【问题标题】:avoid posting twice? gridview control避免发布两次?网格视图控件
【发布时间】:2011-01-27 23:03:13
【问题描述】:

在gridview控件中,当用户编辑行并点击更新按钮保存,然后点击刷新按钮(IE)再次执行更新事件。

如果用户在更新行后点击刷新,我应该如何避免?

【问题讨论】:

  • 请添加一些细节和代码。如果我们看不到事件是如何处理的,就很难判断出了什么问题。

标签: asp.net gridview


【解决方案1】:

您可以使用Viewstate to store information(MSDN 链接)解决此问题。

用户更新一行后,在代码隐藏中保存该行已更新的事实。

ViewState["DataAlreadySaved"] = true;

在您的 Update 方法中,检查 ViewState 值以查看数据是否已保存。

If ((bool)ViewState["DataAlreadySaved"] == false) {
   //Save the data
} 
else {
   //Do nothing
}

您需要根据您的代码找出处理问题的最佳方法,但这应该可以帮助您入门。

【讨论】:

    【解决方案2】:

    您是否在代码隐藏中处理更新?如果是这样,您可以通过重定向到当前页面来执行 POST-Redirect-GET。比如:

    response.Redirect(request.Url.ToString());
    

    当用户点击刷新时,它将重新加载页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-18
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      相关资源
      最近更新 更多