JavaScript在ASP上确认.网络按钮控制

本文关键字:网络 按钮 控制 确认 ASP JavaScript | 更新日期: 2023-09-27 18:12:32

我在做一个ASP。. Net c#应用程序,我想创建一个按钮控件,当用户单击按钮时,一个JavaScript确认弹出,然后从用户获得布尔值(Yes/No),以便在Button onClick事件中执行进一步的操作。

我目前的方法是在按钮中添加OnClientClick和OnClick事件,其中OnClientClick触发JavaScript函数和(Yes/No)值存储到HiddenField控件中,以便在OnClick事件期间使用。

类似于以下代码片段:

function CreatePopup(){
            var value = confirm("Do you confirm?");
            var hdn1 = document.getElementById('hdn1');
            hdn1.Value = value;
        }
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" OnClientClick="CreatePopup()"/>
<asp:HiddenField ID="hdn1" runat="server" />

是否有更好的方法来做到这一点?

JavaScript在ASP上确认.网络按钮控制

将CreatePopup()函数改为返回布尔值:

function CreatePopup()
{
    return confirm("Do you confirm?");
}

然后确保从按钮中的OnClientClick()返回:

<asp:Button ... OnClientClick="return CreatePopup();" />

使用该方法,OnClick()方法只会在OnClientClick()方法返回true时触发。

为什么要将JavaScript确认的值存储在隐藏字段中?当确认值为"no"时,只需在JavaScript函数中返回false,以防止表单提交。当confirm值为yes时,返回true以允许提交表单。在button_click方法后面的代码中,您不必检查JavaScript确认中发生了什么,因为如果用户说no,表单将永远不会提交。