2

ASP.NET ボタンがあります。ボタンをクリックすると、ボタンのサーバー側コードが実行された後にモーダル ポップアップが表示されます。ASP.NET Ajax コントロール ツールキットのモーダル ポップアップ エクステンダを使用したくありません。

ASP.NET Ajax を使用すると、終了要求イベントにフックできます。ASP.NET Ajax を使用せずにこれを行う方法はありますか。jQueryだけ?私は基本的に、サーバー側のクリック コードが実行された後、ポストバック後にいくつかの JavaScript を実行したいと考えています。

4

2 に答える 2

5

ScriptManager.RegisterStartupScript()これには、次のようなものを使用できます。

ScriptManager.RegisterStartupScript(MyUpdatePanel, GetType(), "post-load-script",
  "$(function() { $('#dialog').dialog(); });", true);

その後、UpdatePanel からのリクエストが戻ってきて、これが実行されます。

$(function() { 
  $('#dialog').dialog(); 
});

もちろん、スクリプトに必要なものは何でもそこに置くことができますが#dialog <div>、更新の一部として入力されたラベルまたはものを単に使用した場合、これはそれを表示します(jQuery UI ダイアログを使用している場合、他にもあります) . 概念は非常に一般的です。非同期リクエストが戻ってきたときに実行する JavaScript を登録するだけです。モーダルとその方法は非常に自由です。

于 2010-08-16T15:47:19.223 に答える
3

jQuery 経由でポストバックを開始するために使用する方法によって異なります。非同期ポストバック (jQuery.ajax など) を使用する場合は、ポストバックが完了したときに呼び出すメソッドを提供するだけです。http://api.jquery.com/jQuery.ajax/を参照してください。

通常のポストバックを使用するだけの場合は、サーバー側のメソッドから Page.ClientScript.RegisterClientScriptBlock を使用して、ポストバックの完了後に実行されるスクリプトを登録できます。

于 2010-08-16T15:38:09.260 に答える