0

ASP.NET サイトで Elastic CSS フレームワークを使用しています。UpdatePanel が部分的なポストバックを実行するまで、私が持っているさまざまなコンテナーのサイズを調整する素晴らしい仕事をしています。私が理解している解決策は、次のJavaScript行を実行することです

Elastic.refresh();

C# と ASP.NET はかなり得意ですが、JavaScript はあまり得意ではありません。私が理解しているように、RegisterStartupScript はスクリプトを登録するだけで、それを実行するにはまだコントロールが必要です。

では、カスタム コントロールがカスタム例外をキャッチして部分的なポストバックが発生したときに、この 1 行の JavaScript を実行するにはどうすればよいでしょうか?

4

2 に答える 2

2

編集

あなたのページのJavaScriptでは、このようなことを試すこともできます

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedHandler);
function PageLoadHandler()
{
    Elastic.refresh();
}

このハンドラーはコールバックの後に実行されますがsender._postBackSettings.panelID、必要なパネルにフィルターすることができます。

または、エンドリクエストがニーズに合っているかどうかを試すこともできます。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function PageLoadHandler()
{
    Elastic.refresh();
}

オリジナル

UpdatePanelがあるページにScriptManagerコントロールがありますか?もしそうなら、ScriptManager.AsyncPostBackErrorを利用して、メソッドを実行させることができるかもしれません。

http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.asyncpostbackerror.aspx

于 2011-06-12T00:39:45.287 に答える
1

これは推測ですが、次の内容を含むajaxパネルでリテラルコントロールを使用してみます。

<script language="javascript">
Elastic.refresh();
</script>

私が正しければ、Ajaxパネルがリロードされ、リロードするとそのコード行が自動的に実行されます。

于 2011-06-12T00:38:51.057 に答える