【问题标题】:Confirm messagebox not working correctly确认消息框无法正常工作
【发布时间】:2017-03-11 22:47:55
【问题描述】:

下面的代码在 Asp.Net 上运行一个带有 yes no 的确认消息框。
我需要检测该值是否已确认。
我该怎么做?

aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type = "text/javascript">
        function Confirm() {
            var confirm_value = document.createElement("INPUT");
            confirm_value.type = "hidden";
            confirm_value.name = "confirm_value";
            if (confirm("Do you want to save data?")) {
                confirm_value.value = "Yes";
            } else {
                confirm_value.value = "No";
            }
            document.forms[0].appendChild(confirm_value);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:Button ID="btnConfirm" runat="server" OnClick = "OnConfirm" Text = "Raise Confirm" OnClientClick = "Confirm()"/>
    </form>
</body>
</html>

背后的代码

protected void OnConfirm(object sender, EventArgs e)
{
    // This method runs even though the user clicks no.   
}

更新
使用此代码,是或否选择都运行名为 OnConfirm 的相同方法。 所以我尝试运行 OnConfirm 方法only if the user clicks yes

【问题讨论】:

标签: javascript c# asp.net messagebox confirm


【解决方案1】:

更新:

您可以使用带有 runat=server 的隐藏字段并保存是/否。然后发送到服务器。

 <input type="hidden" runat="server" value="" id="hidden1" />


function Confirm() {

        if (confirm("Do you want to save data?")) {
            confirm_value.value = "Yes";
            document.getElementById("hidden1").value = "yes";
        } else {
            confirm_value.value = "No";
            document.getElementById("hidden1").value = "no";
        }
        document.forms[0].appendChild(confirm_value);
    }

如果您使用母版页,请记住 hidden 的客户端 ID 与其服务器 ID 不同。

protected void OnConfirm(object sender, EventArgs e)
{
  string confirmValue = hidden1.Value;       
}

【讨论】:

    【解决方案2】:

    我认为您想要做的只是在用户确认确定时执行服务器端按钮,对吗?如果是,那么就这样做,基本上当javascript函数返回false时,服务器端按钮不会触发即:(OnClientClick = "return Confirm()")

        <script type = "text/javascript">
            function Confirm() {           
                return confirm("Do you want to save data?");
            }
        </script>
    
    
        <asp:Button ID="btnConfirm" runat="server" OnClick = "OnConfirm" Text = "Raise Confirm" OnClientClick = "return Confirm()"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      相关资源
      最近更新 更多