【发布时间】:2011-01-27 23:03:13
【问题描述】:
在gridview控件中,当用户编辑行并点击更新按钮保存,然后点击刷新按钮(IE)再次执行更新事件。
如果用户在更新行后点击刷新,我应该如何避免?
【问题讨论】:
-
请添加一些细节和代码。如果我们看不到事件是如何处理的,就很难判断出了什么问题。
在gridview控件中,当用户编辑行并点击更新按钮保存,然后点击刷新按钮(IE)再次执行更新事件。
如果用户在更新行后点击刷新,我应该如何避免?
【问题讨论】:
您可以使用Viewstate to store information(MSDN 链接)解决此问题。
用户更新一行后,在代码隐藏中保存该行已更新的事实。
ViewState["DataAlreadySaved"] = true;
在您的 Update 方法中,检查 ViewState 值以查看数据是否已保存。
If ((bool)ViewState["DataAlreadySaved"] == false) {
//Save the data
}
else {
//Do nothing
}
您需要根据您的代码找出处理问题的最佳方法,但这应该可以帮助您入门。
【讨论】:
您是否在代码隐藏中处理更新?如果是这样,您可以通过重定向到当前页面来执行 POST-Redirect-GET。比如:
response.Redirect(request.Url.ToString());
当用户点击刷新时,它将重新加载页面。
【讨论】: