2

ASP.NET Ajax フォームのモーダル ダイアログ ボックスを閉じるボタンがあります。同じボタンクリックで呼び出されるクライアント側関数を追加するにはどうすればよいですか?

現在、firebugにはonclick用のこれがあります

javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$DefaultContent$btnPaymentActionDetailClose", "", true, "", "", false, false))

jQuery でクリック ハンドラーを追加することはできますか? フォーム機能に必要なため、ポストバックを一掃したくありません。

使ってもいいですか

$("#buttonId").bind("click", function(e){
   runAnotherFunction();
});

既存のポストバックに干渉しませんか?

実は、モーダルダイアログが閉じたときに関数を実行したいのです。ajax コントロール ツールキット ウィジェットはどのような種類のイベントも発生させますか? 私は動作を見つけて、表示と非表示を呼び出すことができることを知っています。modal.hide() の実行時に関数を exec にアタッチできますか?

アドバイスをありがとう、サンディエゴの ~ck

4

1 に答える 1

3

はい、ASP:Buttonポストバックする前に、クライアントで Javascript を実行できます。これは Web コントロールのOnClientClickプロパティです。

これには jQuery は必要ありません。

<asp:button id="btn" runat="server" onClientClick="SomeJsFunction()" 
     onClick="ServerSideMethod()" Text="Hello Button" />

<script language='javascript'>
     function SomeJsFunction()
      {
         alert('hi');
      }
</script>

ポストバックが発生するかどうかを制御することに関心がある場合は、Javascript 関数の結果から返して true/false を確認できます。

function SomeJsFunction()
{
     var isGood = false;
     return isGood;
}

<asp:button id="btn" runat="server" onClientClick="return SomeJsFunction()" 
     onClick="ServerSideMethod()" Text="Hello Button" />

(コメントでナッジしてくれたRalphに感謝します)

于 2009-11-18T23:40:02.630 に答える