2月 01
このエントリをはてなブックマークに登録 Yahoo!ブックマークに登録

ポストバックでイベントを起こすASP.NETの場合、JavaScriptでconfirmを出して「確認」→「分岐」という流れを作る場合はどうしたらよいだろうと悩んで、調べてみました。

//Page_Loadで属性の追加をする
public void Page_Load(object sender, EventArgs e)
{
    Button1.Attributes["onclick"]=”return confirm(‘クリックしたの?’);”;
}

//confirmでtrueが返ってきたらこのイベントが呼ばれる
private void Button1_Click(object sender, System.EventArgs e)
{
    RegisterStartupScript(“client”, “< script language=’JavaScript’> alert(‘クリックされちゃった’) < /script> “);
}

かなり割愛してますが、必要なコードはこんな程度です。
Page_LoadでButton1というコントロールに属性を追加しておくだけです。あとは勝手に分岐処理を記述してくれます。

aspx側のボタンコントロールにonclickを直接記述したらエラーが出てしまいました。まぁ、onclickはポストバックイベントが動的に記述されるので、当然といえば当然の結果か。
もっとスマートなやり方もありそうだけど、とりあえずこんな感じで。

関連性のあるエントリ:

  1. ASP.NETでクライアントサイドにランタイムでJavaScriptを書き出す方法
  2. Smartyのテンプレート内にJavaScriptを記述する方法
  3. AIRでアプリケーション終了の確認ダイアログを表示する
  4. サーバサイドのexeを実行する
  5. はじめてのAjax

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
preload preload preload