确认信息confirm由C#后端移至javascript前端

以前开发asp.net网页时,让asp:Button点击前,confirm信息,提示操作者。

<form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    </div>
</form>

 

cs后端,
2026-04-22_16-00-14

 

上面代码运行是正常的。
但是,当你尝试把Button按钮click点击事件由OnClick改成OnClientClick,

 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="btnClick();" />

 

js code,

<script type="text/javascript">
    function btnClick() {
        //处理...
        alert("处理");
    }
</script>

 

在运行起来,它是先alert,再confirm。
有问题,也许是语法不正确。

修改代码,把C# Page_Load事件相关代码注释掉,

protected void Page_Load(object sender, EventArgs e)
{
    // this.Button1.Attributes["onclick"] = "if(!confirm('确认进行数量平衡。')){ return false; };";

   // this.Button1.Attributes.Add("onclick", "if( !confirm('确认进行数量平衡。') ){ return false; }");
}

 

前端,

<script type="text/javascript">
    //function btnClick() {
    //    //处理...
    //    alert("处理");
    //}

    function btnClick() {
        if (!confirm('确认进行数量平衡。')) {
            return false;   // 用户取消,阻止回发
        }

        alert("处理");
        return true;
    }
</script>


html处,仍需要修改,在OnClientClick事件中,添加return...

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return btnClick();" />

 

现场效果,
2026-04-22_16-22-33

 






posted @ 2026-04-22 16:30  Insus.NET  阅读(2)  评论(0)    收藏  举报