1

次のコードがあります

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 をクリックしても確認メッセージが表示されません。

4

1 に答える 1

2

これは、コードが間違っているためですreturn。関数の外に置くことはできません。構文が悪いためです。

ボタンクリックイベントなど、何かにそのようなコードを添付する必要があります。

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

そのようなコードをPage_Loadイベントに (または に直接.aspx) 配置し、ボタンをクリックすると確認ダイアログがトリガーされ、キャンセルするとボタンのクリックがキャンセルされます。

于 2012-10-09T11:21:43.180 に答える