UpdatePanelプロセスが完了したときにスクリプトを実行する方法はありますか?.
レコードの「挿入」、「コピー」、および「編集」を許可するページがあります。これはすべて、ページナビゲーションを防ぐためにUpdatePanelで行われます。ページのどこかで、「レコードが正常に入力されました」などの「フラッシュ」メッセージを印刷したい。 UpdatePanelの近くではないので、メッセージにjQueryエフェクトを使用して、4秒後にフェードアウトするようにします。 UpdatePanelを使用してスクリプトを返信したり、UpdatePanelの更新後にスクリプトを実行したりするにはどうすればよいですか?スクリプトをasp:literalに書き込む必要がありますか?考え?
これでうまくいくはずです:
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args)
{
//Jquery Call
}
function EndRequestHandler(sender, args)
{
//Jquery Call
}
</script>
以下は、ScriptManagerの静的メソッドRegisterClientScriptBlockを使用してそれを行う方法に関する記事です。それを試してみて、魅力のように機能します。
http://csharperimage.jeremylikness.com/2009/06/inject-dynamic-javascript-into-aspnet.html
var requestManager = Sys.WebForms.PageRequestManager.getInstance();
requestManager.add_beginRequest(function () { alert('here1') });
requestManager.add_endRequest(function () { alert(here2') });
Sys.WebForms.PageRequestManager.getInstance()メソッドも私にとってはうまく機能します。
複数のUpdatepanelを含む多くのページで作業していますが、更新したくないUpdatepanelがある場合でも、これが自動的に起動することを学びました。したがって、イベントで発生する関数内に、次のようなものがあることを確認してください。
function BeginRequestHandler(sender, args) {
if (args.get_postBackElement().id == "ID of the Updatepanel") {
// do stuff here