2

Microsoft AJAX Partial Postback が発生した場合、つまりユーザーが更新パネルのリンクをクリックした場合に、スクリプト マネージャーにスクリプト参照を追加しようとしています。

ScriptManager.RegisterClientScriptInclude(Page, Page.GetType(), "UniqueName",
                                          Page.ResolveUrl(scriptPath));

機能せず、どちらも機能します

ScriptReference script = new ScriptReference(scriptPath);
MyScriptManager.Scripts.Add(script);

私がネットで読んだことから、RegisterClientScriptInclude は部分的なポストバックでも機能するはずです。 http://www.codeproject.com/KB/ajax/addingCssJsAjaxPartialPos.aspx

なぜこれらが機能しないのか、または別の方法で機能しないのか、誰かアイデアを教えてもらえますか?

編集:追加情報。
マスター ページではなく各ページにフォームとスクリプト マネージャーがある非常に大規模なレガシ コード ベースを使用しています。コードをクラスに配置し、次の呼び出しを使用して JavaScript 効果を追加したいと思います。

ClientSideScripts.BackgroundColourFade(Page, ScriptManager, Control);

メソッド呼び出しにスクリプトを含めたい理由は

  1. メソッドのコンシュームは、スクリプトを含めることを覚えておく必要はありません
  2. 使用するスクリプトを変更するには、1 か所だけ変更する必要があります
  3. ページの読み込み時間を短縮するために必要な場合にのみ JavaScript を含めます。
4

1 に答える 1

2

あなたの質問に答えるので、このSO-Questionsを見てください:

function dynamic() {
  alert('dynamic');
  $('#divDyn').text('Dynamic!');
}
// notify that the script has been loaded <-- new!
if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
于 2011-06-09T13:24:57.067 に答える