asp.net ajaxツールキットのスクリプトを組み合わせます
-
06-07-2019 - |
質問
asp.net ajaxControlTookKit(.net 3.5 sp1より前)のバージョン3.0.20229.0を使用しています。カスタムjavascriptファイルを、controlTookKitが作成するScriptResource.axdに結合できるかどうか疑問に思っていました。この記事を見つけました( http://blogs.msdn.com/delay/archive/2007/06/11/script-combining-made-easy-overview-of-the-ajax- control-toolkit-s-toolkitscriptmanager.aspx ) これにより、scriptCombine属性をアセンブリファイルに追加する必要があることがわかります。 WebSiteプロジェクトを実行していますが、この属性を追加するにはどうすればよいですか?
解決
スクリプトをリソースとして別のライブラリに追加し、そこからスクリプトを参照して、スクリプトコンバイナを利用する必要があります。
編集してウォークスルーを提供
新しいクラスライブラリプロジェクト(たとえば" CombinedScipts"と呼ばれる)を作成し、デフォルトクラスを削除します。
AjaxControlToolkit と System.Web
の両方に参照を追加しますJSファイルをプロジェクトに追加し、Build Actionプロパティを" Embedded Resource"に変更します。
AssemblyInfo.csファイルを開きます
次を追加します:
// You need to add a web resource call for each JS file in the project
[assembly: WebResource("CombinedScripts.Console.js", "text/javascript")]
[assembly: WebResource("CombinedScripts.Utilities.js", "text/javascript")]
// Not setting IncludeScripts or ExcludeScripts marks all scripts as
// combinable.
[assembly: AjaxControlToolkit.ScriptCombine()]
このライブラリをWebサイトプロジェクトの参照として追加します。
プロジェクトで、ToolkitScriptManagerタグの間に次を追加できます。
<Scripts>
<asp:ScriptReference name="CombinedScripts.Console.js"
assembly="CombinedScripts" />
<asp:ScriptReference name="CombinedScripts.Utilities.js"
assembly="CombinedScripts" />
</Scripts>
ToolkitScriptManagerのCombineScriptsプロパティがtrueに設定されていることを確認することを忘れないでください。
これにより、次のような呼び出しが1回行われます。 /pageName.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField& [...]
次のようなコメント区切り文字を使用して、組み合わせたスクリプトが含まれます:
//START CombinedScripts.Console.js
[...]
//END CombinedScripts.Console.js
//START CombinedScripts.Utilities.js
[...]
//END CombinedScripts.Utilities.js