在asp.net c#中获取返回的确认popbox值

本文关键字:确认 popbox 返回 获取 asp net | 更新日期: 2023-09-27 17:55:02

如何获得在确认框中按下的值?

 <script type = "text/javascript" language = "javascript">
        function confirm_proceed()
        {
            if (confirm("Are you sure you want to proceed?")==true)
                return true;
            else
                return false;
        }
    </script> 
c#

  Button2.Attributes.Add("onclick", "return confirm_proceed();");

在asp.net c#中获取返回的确认popbox值

如果这是唯一具有此行为的按钮,请试试这个

Button2.Attributes.Add("onclick", "return confirm('Are you sure you want to proceed?')");

它是内联的,看起来很简单,但如果你有多个这样做的控件,那么你原来的方法将很容易维护。

原始函数可以压缩为

 <script type = "text/javascript" language = "javascript">
        function confirm_proceed()
        {
            return confirm("Are you sure you want to proceed?");
        }
 </script> 

可以将confirm_proceed()的值存储在asp:HiddenField

你可以这样修改你的脚本:

 <script type = "text/javascript" language = "javascript">
        function confirm_proceed()
        {
            var hiddenField = document.getElementById('hiddenFieldId');
            if (confirm("Are you sure you want to proceed?")==true)
            {
                hiddenField.value = 'true';
                return true;
            }
            else
            {
                hiddenField.value = 'false';
                return false;
            }
        }
 </script> 

你现在可以在你的Button2_Click事件中首先访问隐藏字段的值

我在一个实际的生产项目中遇到了类似的问题,我用以下方法解决了它:

<asp:Button ID="btn1" runat="server" OnClick="Button1_Click" onClientClick="return confirm('Are you sure you want to proceed?')"/>

所以OnClientClick Client事件在onClick server事件之前被触发,所以如果用户点击OK,那么Client事件从确认对话框返回True,因此这个按钮后面的代码被执行,另一方面,如果用户点击(取消或否),那么它将返回false,因此后面的代码不会被期望(服务器事件被取消)

希望它能帮助你,因为我真的把它应用到我的项目中,没有任何问题。