クライアント側のJavaScriptメソッドを、特定の更新パネルが読み込まれましたか?
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler)
これは、どの更新パネルの読み込みが完了した後にも実行されるため、私にとっては機能しません。クライアント側でどのパネルがロードされているかを見つける方法が見つかりません。
ScriptManager.GetCurrent(Page).AsyncPostBackSourceElementID AsyncPostBackSourceElementID
これはサーバー側のオブジェクトなので私には機能しません。クライアント側で
ClientSide .Net フレームワークは、正しいコンテンツを更新するために、どの UpdatePanel を更新しているかを認識する必要があります。このイベントにフックする方法は確かにあるのでしょうか?
ご協力いただければ幸いです。
ベストアンサー1
ありがとうございます。どちらも良い回答です。最終的には、クライアント側スクリプト「pageloaded」を使用しました。これは、Google では明らかにされなかった、かなり隠れた方法です。興味のある方のために、このコードは FireBug で動作し、更新されたパネルを見つけるために PageLoaded メソッドが機能する優れたデモを提供します。
<script type="text/javascript">
$(document).ready(function() {
panelsLoaded = 1;
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded)
});
function PageLoaded(sender, args) {
console.log("I have occured " + panelsLoaded++ + " times!");
var panelsCreated = args.get_panelsCreated();
for (var i = 0; i < panelsCreated.length; i++) {
console.log("Panels Updating: " + panelsCreated[i].id);
}
var panelsUpdated = args.get_panelsUpdated();
for (var i = 0; i < panelsUpdated.length; i++) {
console.log("Panels Updating: " + panelsUpdated[i].id);
}
}
</script>