如何在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();
}
}
答案 0 :(得分:7)
您在同一事件中混合服务器端和客户端端代码,必须将其分开:
<强>脚本:强>
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();
}
}
答案 1 :(得分:1)
您需要捕获响应,例如:
if (window.confirm)
{
//handle the OK
}
else
{
//handle the cancel
}
答案 2 :(得分:0)
请显示代码,但是如果没有看到您的代码我会猜测您没有返回响应?
<input type="button" onclick=" return confirm('is this right?'); ">
答案 3 :(得分:0)
您可以通过代码return
简单地exit(0)
。
function fillGrid()
{
if( confirm("....") )
{
//populate your grid
}
else
{
return;
}
//do anything after the grid is populated
//and exit the function
}
答案 4 :(得分:0)
您在按钮点击后面的代码中显示确认对话框,不会停止代码流。
您需要在执行回发之前显示确认对话框
<asp:Button ID="btnCopy" runat="server" Text="Copy" Enabled="true" OnClientClick="return confirm('sure?');" ValidationGroup="Copy" />