2

Ajax Extenderコントロールベースは依存関係管理を提供していますか?私は行動によって使用されるいくつかの基本スクリプトを使用するコントロールのセットを作成しており、ここからCreating a Extender Control見た目の並べ替え私はすべての単一のコントロールコードに自分のベーススクリプトを含める必要があります。したがって、エクステンダベースは、各コントロールに対して同じスクリプト(キャッシュされたもの)を提供するか、同じスクリプトが各コントロールに対して提供されます。javascriptの管理方法Ajax Extenderコントロールの依存関係

たとえば、jQueryに依存するコントロールを開発しています。私はエクステンダーコントロールを開発しているので、以下のようなインターフェースからこのメソッドを実装しなければなりません.jqueryスクリプトに気付きましょう!

protected override IEnumerable<ScriptReference> GetScriptReferences() 
{ 
    ScriptReference reference = new ScriptReference(); 
    reference.Path = ResolveClientUrl("jQuery.js"); 
    reference.Path = ResolveClientUrl("FocusBehavior.js"); 
    return new ScriptReference[] { reference }; 
} 

は今、私は、これは、両方のコントロールが同じページ内にある場合、彼らは二度務めている意味は、別のコントロールに同じjqueryのスクリプトを持っているのだろうか?私は、スクリプトマネージャを必要としないマスターページを使用するよう はまた、代わりにまたのScriptManagerでスクリプトを登録 デバッグスクリプトのエクステンダー制御出力生産のスクリプトを作るのですかどのように別の質問、

は私のためのオプションではありません。

一部仕様:

VS2005で開発

.NET 2.0、ASP.NET 2.0

スクリプトシズルへの依存、emile.jsは、これらのために必要な基本スクリプトですspine.jsすべてのコントロール

答えて

0

ASP.NETコントロールは、ASP.NETコントロールが複数のインスタンスに存在する可能性があるため、レンダリングプロセスで重複するScriptReferenceオブジェクトを適切に処理します。ページ。

たとえば、あなたが行うことができますASP.NETページに:

<act:Calendar runat="server" ID="calendar1"/> 
<act:Calendar runat="server" ID="calendar2"/> 

これらのコントロールの両方が同じスクリプトに依存しているが、フレームワークは二回、それらをロードしません。これは、あなたがデバッグまたはデバッグまたはいずれかであることに依存するJavaScriptファイルのリリース(縮小さ)のバージョンのいずれかにサービスを提供できるようにする必要があり

protected override IEnumerable<ScriptReference> GetScriptReferences() 
{ 
    List<ScriptReference> references = new List<ScriptReference>(); 

    #if DEBUG 
    // Load Debug Version 
    references.Add(new ScriptReference(ResolveClientUrl("~/Path_To_Your_Debug_JS.js"));  
    #else 
    // Load Minified Version 
    references.Add(new ScriptReference(ResolveClientUrl("~/Path_To_Your_Release_JS.js")); 
    #endif 

    return references; 
} 

:あなたの状況で

は、おそらくのような何かをしたいと思いますリリースモード。

ScriptManagerを必要としないあなたのマスターページに関するあなたのコメントについてはわかりません。コントロールにGetScriptReferences()メソッドを呼び出して、それらのスクリプトタグのレンダリングを処理するような、ScriptManagerの責任の処理について扱う何らかの仕組みがあると仮定します。