我有一个单击按钮时打开的JQuery对话框。第一次,它应该进行回发,但是当对话框关闭并且我点击broswer的刷新按钮时,它再次发送数据并复制我刚刚输入的数据。我应该在某处添加一个返回false,以便在关闭对话框时不回发。这是脚本:
$(document).ready(function () {
$('#showTerms').click(function () {
$('#terms').dialog({
closeOnEscape: false, modal: true, width: 650, height: 400, title: 'Create New Group'
});
$('#terms').dialog('open');
$("#terms").parent().appendTo($("form:first"));
});
});
答案 0 :(得分:0)
你可以通过一些JS魔法阻止按钮点击回发。更改按钮以添加UseSubmitBehavior =“false”和OnClientClick =“return false;”这样单击时就不会运行默认的回发操作。
接下来,在对话框处理程序中,当您要在按钮单击时回发时显式写入行:__ doPostBack('<%= btn.UniqueID%>','');它回发到代表按钮的服务器(虽然注意,第二个参数是附加在一起的命令名/ arg)。
HTH。
答案 1 :(得分:0)
您可以使用Post-Redirect-Get模式阻止此操作。
基本思想是你永远不会向用户发送POST请求的结果,只是GET。这样,用户永远不会双重提交,他们可以安全地为页面添加书签,并且他们的浏览器历史记录可以预测。
在此方法的代码隐藏处理程序中,只需重定向到当前页面,进行所需的任何更改,以指示用户接受条款。
答案 2 :(得分:0)
如果我理解你要做什么,试试这个......
将事件参数传递到您的点击响应函数(...click(function(eventParam){...
),然后使用该事件参数从eventParam.preventDefault();
按钮取消默认回发。