1

ASP.Net Microsoft AJAX ポストバックの後に JQuery を実行しようとしています。

ユーザーがリンクをクリックすると、Microsoft AJAX を使用して DB 内のいくつかのフィールドが更新され、成功すると、変更が行われたことをユーザーに通知するラベルが表示されます。残念ながら、ラベルはあまり目立たないので、背景を赤から白にフェードするために使用したいと思います。

問題は、ラベルに visible=false が設定されている場合、結果の html にラベル (スパン) が含まれないことです。ASP.Net Microsoft AJAX ポストバック後に JQuery を実行する方法、または同じ効果を達成する別のソリューションを知っている人はいますか?

4

4 に答える 4

2

@Nikhilが言ったことと同じようなもので、非常によく似たもので、私がいつも使っているものです:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(functionName)

WherefunctionNameは、呼び出したいものを含む関数の名前です。これにより、ページ/パネルが再読み込み/更新されるたびに関数が呼び出されるようになります。

于 2011-06-06T16:30:51.267 に答える
2

これは、ASP.NET Ajax ポストバック後にランダムな JavaScript を実行する方法です。

function executeThis(){
//code here to fade in out the label that comes


var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.remove_pageLoaded(executeThis); //job done, remove this so that it is not fired again.
}


$("link").click(function(){
                var prm = Sys.WebForms.PageRequestManager.getInstance();
                prm.add_pageLoaded(executeThis); //this will register executeThis function with MS Ajax libraries which will fire it after next posback
               //the post back happens here.
  });
于 2011-06-06T16:11:04.227 に答える
2

ポストバックでこれを試すことができます

ScriptManager.RegisterStartupScript(Me.Form, Me.GetType(), "FunctionName", "FunctionName();", True)

これにより、ポストバックが完了した後に JavaScript 関数 FunctionName() が呼び出されます

于 2011-06-06T16:27:20.167 に答える
0

これは、あなたを動かすためのちょっとした疑似コードです:

  1. 成功しない場合は、asp:Label visible プロパティ = true のままにしますが、display を none に設定した CSS クラスを指定します。
  2. ページの読み込み時に、次を実行します。

    ScriptManager.RegisterStartupScript(Me.Form, Me.GetType(), "ShowError", "ShowError();", True);

  3. Javascript で、次を追加します。

    function ShowError() { $('#myLabelID').show().fadeOut(); }

于 2011-06-06T16:43:49.643 に答える