为什么我的确认消息没有从代码背后触发?

时间:2012-10-09 11:12:15

标签: c# asp.net code-behind

我有以下代码

protected void Button1_Click(object sender, EventArgs e)
{
    string strScript = "if(confirm('Do you confirm?')){alert('OK'); }else{alert('cancel')}";
    Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "Confirmation", strScript, true);

}
protected void Button2_Click(object sender, EventArgs e)
{
    string strScript = "if(confirm('Do you confirm?')){return false; }else{return true;}";
    Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "Confirmation", strScript, true);

}

Button1正在显示确认消息,然后根据我的选择显示相应的警报消息。

但是,当我点击Button2时,我甚至没有收到确认消息。

1 个答案:

答案 0 :(得分:2)

那是因为代码错了 - 你不能在函数之外使用return,这是错误的语法。

您必须将此类代码附加到某些内容,例如按钮点击事件:

Button2.OnClientClick = "return confirm('Do you confirm?');";

Page_Load事件中(或直接在.aspx中)拥有此类代码,然后点击该按钮将触发确认对话框,如果取消,将取消按钮点击。