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

时间:2011-05-05 02:42:11

标签: c# javascript asp.net

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

 <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();");

3 个答案:

答案 0 :(得分:1)

您可以将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事件中隐藏字段的值。

答案 1 :(得分:1)

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

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> 

答案 2 :(得分:1)

我在实际的生产项目中遇到了类似的问题,我通过以下方式解决了这个问题:

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

所以OnClientClick Client事件是在onClick这是一个服务器事件时引发的,所以如果用户单击OK,那么Client事件从confirm对话框中返回True,因此执行此按钮后面的代码,如果用户单击(取消或否)然后它将返回false,因此后面的代码将不会被执行(服务器事件被取消)

希望它可以帮助你,因为我真的将它应用到我的项目中并且没有任何问题地工作。