【问题标题】:ASP.Net Confirm box issueASP.Net 确认框问题
【发布时间】:2014-01-28 13:04:34
【问题描述】:

在我的 asp.net 应用程序中,我使用 JavaScript 确认框进行用户确认。 代码如下:

编辑:

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" OnClientClick="return confirm('Are you sure you want to proceed with the delete?');"/>

只有当用户点击OK 时才会调用此工作格Button1_Click。但我有更复杂的逻辑,会随着用户重播而改变。这是它的代码:

  protected void Button1_Click(object sender, EventArgs e)
    {      
        // I want to catch replay of this confirm box     
        this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Termination Failed", "confirm('This Contract Have a Pre-Renewed,Please Delete that Contract First')",true);

    //If User Clicks ok
     doWork();

    //else
    doWork2();            
    }

但我无法获得用户响应。如何捕捉用户响应?有人可以帮忙吗?

【问题讨论】:

  • 对。您设法执行了一个事件处理程序 Button1_Click,现在您想要执行 Button2_Click... 对吗?看起来很简单……对吧?对。
  • 是的,但我的 button2_click 是 JS 确认 OK
  • @Ashutosh 你能告诉我你是如何使用你的按钮的吗?
  • @AfnanAhmad 请查看我的更新帖子
  • @Ashutosh 我已经更新了我的答案,请尝试一下。

标签: c# javascript asp.net


【解决方案1】:

通过使用 javascript 确认方法,您只需决定是否要继续 - 所以您的 Button1_Click 方法仅在用户单击 ok 时才被调用。

您尝试做的事情完全不同。我建议摆脱 ASP.NET Button 控件并使用“通用”HTML 链接,例如:

<a href="#" id="decideLink">Click me</a>

然后在javascript中

document.getElementById('decideLink').onclick = function()
{
    if(proceed) {
        // do something here
    } else {
        // do something different
    }
}

要从 javascript 调用代码隐藏方法,请查看article about calling web methods from javascript

【讨论】:

    【解决方案2】:

    简单的解决方案使用javascript并调用OnClientClick

    <script type="text/javascript">
            function confirm() {
               if (confirm('This Contract Have a Pre-Renewed,Please Delete that Contract First')) {
                    return true;
                }
                else {
                    return false;
                }
            }
          </script>     
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="return  
     confirm()"/>
    

    【讨论】:

    • 对不起,我以为他在谈论 page_load 事件而不是按钮点击。删除 -1
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2015-08-25
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多