4

少しアドバイスを探しています。適度に大きなASP.NETMVC3アプリを開発しています。

システム全体に何百ものパーシャルがあるので、アプリケーションを構成可能なチャンクに分割できます。多くのパーシャルには、さまざまなJQueryまたはストレートJavascriptスクリプトブロックが含まれています。

問題は、パーシャルがメインページに含まれるたびに、スクリプトブロックが毎回明らかに含まれることです。これは、明らかに望ましい効果ではありません。

スクリプトをメインページに配置することもできますが、多くの場合、長くて詳細なスクリプトがたくさんあり、スクリプトが必要ない場合はページを乱雑にしたくありません。(パーシャルがゼロ回以上表示される場合があります)。

パーシャルがページに含まれ、それが1回だけ含まれている場合にのみ、スクリプトブロックを含めることができる推奨されるアプローチは何ですか?

ありがとう、

サイモン。

4

2 に答える 2

1

私はこれに似た状況にありました。多数のパーシャル(独自のスクリプトを含む)を備えた大規模なMVC3アプリ。私が採用したアプローチは、オブジェクトの名前空間を設定することでした。部分ビュースクリプトに名前空間を付けてから、部分がロードされたときに名前空間が存在するかどうか、または名前空間を作成する必要があるかどうかを検出するためのチェックを行うことができます。

if(window.AppName.Module == undefined){
   //Do initialization
   window.AppName.Module = {};
   //Call init or whatever here
}
//Else continue on...
于 2012-11-19T16:17:31.293 に答える
1

このモジュールをパーシャルに追加できます。

(function (appname, undefined){

    // use appName object here ..

})(window.AppName = window.AppName || {});
于 2012-11-27T13:34:35.927 に答える