ASP.NET-UpdatePanelおよびJavaScript
-
03-07-2019 - |
質問
UpdatePanelプロセスが終了したときにスクリプトを実行する方法はありますか。
「挿入」、「コピー」、および「編集」を許可するページがあります。記録の。 これはすべて、UpdatePanel上で行われ、ページナビゲーションを防ぎます。 ページのどこかで" flash"を印刷したいメッセージ-「レコードが正常に入力されました」のように。 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()メソッドは、私にとってもうまく機能します。
複数のUpdatepanelsを含む多くのページで作業しており、更新に必要でないUpdatepanelsが更新されても、これが自動的に起動することを学びました。そのため、イベントで発生する関数内で、次のようなものがあることを確認してください。
function BeginRequestHandler(sender, args) {
if (args.get_postBackElement().id == "ID of the Updatepanel") {
// do stuff here
ブルーノ、
まず、直接の質問に答えます。更新パネルによって呼び出されるコールバックでは、RegisterStartupScript呼び出しを使用してJSメソッドを呼び出すことができるはずです。次に、JSメソッドでメッセージを表示してから、do aを使用できます。
setTimeout('$('#myMessage').fadeOut("slow")', 4000);
4秒後に消える。
さらに一歩進むには、すでにJavaScriptを実装しているので、 UpdatePanelsに関するこの記事。可能であれば、挿入、コピー、および編集を行うためにAjax呼び出しを送信しようとします。これにより、ユーザーフィードバックがさらに簡素化され、回線を介した過剰な情報が防止されます。