【发布时间】:2019-08-20 19:41:06
【问题描述】:
我有一个隐藏字段,用于存储在页面上单击按钮时要更新的一些项目 ID。这工作正常。但是,如果用户单击更新按钮,然后等待页面重新加载,然后手动刷新页面(使用浏览器刷新按钮),则重新提交数据并在数据库中创建重复数据。
有没有办法清除回发数据中的隐藏字段,这样如果用户手动刷新页面,隐藏字段将为空,并且不会对数据库进行更新?
到目前为止,我已经尝试在数据库更新后使用下面的代码手动更新 ViewState。
ViewState["hdnBulkIds"] = "";
我还尝试从 ViewState 中排除隐藏字段,并在页面加载时使用 jQuery 手动清除它。
$( document ).ready(function() {
$('#<%= hdnBulkIds.ClientID %>').val("");
});
在这两种情况下,我似乎都无法更新手动页面刷新时发送到服务器的数据“实例”,因此隐藏字段保留了原始按钮单击时的原始值。
我想问题可以简化为:有没有办法直接使用 ViewState 或其他方法来更新 Postback 数据以清除隐藏字段?
【问题讨论】:
标签: javascript c# jquery postback viewstate