C# · 12月 22, 2021

c# – 单击“取消Javascript确认”框不会阻止网格刷新

如何在 javascript确认框上点击取消按钮停止呈现.cs代码页面?

我有一个按钮点击事件,在某些IF条件下,我要求用户确认.现在,当用户单击“确定”按钮时,我必须在网格中绑定新数据.但如果用户单击取消按钮,则不应使用新数据刷新网格.

问题:点击JavaScript确认框中的取消按钮,如何停止执行以下代码,或者如何从JavaScript返回/中断?

有人可以帮我解决这个问题吗?提前致谢.

标记

<asp:Button ID=”btnCopy” runat=”server” Text=”Copy” Enabled=”false” OnClick=”btnCopy_Click” ValidationGroup=”Copy” />

public void btnCopy_Click(object sender,EventArgs e) { if (Convert.ToInt32(hidId.Value) > 0) { string scriptString = “<script language=’JavaScript’> “; scriptString += “if (confirm(‘Are you sure to proceed?’) == false) {return} “; scriptString += “</script>”; Page.RegisterStartupScript(“Confirm”,scriptString); BindDataGrid(); }}解决方法 您在同一事件中混合服务器和客户端代码,它必须分开:

脚本:

function Confirm(){ var record=confirm(‘Are you sure to proceed??’); if(record == 1) { return true; } else if(record == 0) { return false; } }

标记:

<asp:Button ID=”btnCopy” runat=”server” Text=”Copy” Enabled=”false” OnClick=”btnCopy_Click” OnClientClick=’return Confirm();’ ValidationGroup=”Copy” />

代码隐藏:

public void btnCopy_Click(object sender,EventArgs e) { if (Convert.ToInt32(hidId.Value) > 0) { BindDataGrid(); }}