【问题标题】:Response.Redirect() not working after javascript confirm got false valuejavascript 确认得到错误值后,Response.Redirect() 不起作用
【发布时间】:2013-09-30 12:40:49
【问题描述】:

我有一个这样的简单页面:

A.aspx - 有一个 asp TabControl 让用户更改为 B.aspx 或返回,一个按钮将使用 javascript 确认用户做某事。

B.aspx - 与 A.aspx 有相同的 TabControl ,只是在这里显示一些消息。

A.aspx 中的按钮代码如下:

<button id="do" onclick="if (confirm('you sure?')==false) { return false; };"></button>

和我在 A.aspx.cs TabControl_TabChanged() 中的 Response.Redirect 代码如下:

Response.Redirect("b.aspx");

在我点击按钮之前它工作正常,如果我点击它并选择“确定”它仍然可以, 但是当我选择“取消”时,Response.Redirect() 将运行但页面没有改变。 请帮我找出问题。

【问题讨论】:

  • 你怎么知道 Response.Redirect 执行了?听起来您从按钮获得了正常的 http-post,但缺少控件做出反应所需的 asp.net 回发参数。

标签: c# javascript asp.net redirect confirm


【解决方案1】:

只需将 javascript 的“onclick”替换为“OnClientClick”即可。

【讨论】:

  • 感谢您的回答!
  • 如果你只是替换 onclick="if (confirm('you sure?')==false) { return false; };"这与 onClientClick="if (confirm('you sure?')==false) { return false; };"和 onclick 事件将在服务器端回发按钮单击事件
【解决方案2】:

我会尝试在我的 Button 上设置一个 jQuery 事件

<form id="submitform">
 <button id="do" >change</button>
</form>

 $("#do").click(function(e) {
  var r=confirm("you sure?");
       if (r===false)
       {
          e.preventDefault();
       }
 });

也许这有帮助

【讨论】:

  • 我发现问题出在第 3 方库上,谢谢解答!
猜你喜欢
  • 2017-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多