0

asp.net Web フォーム プロジェクトを開発するほど、すべてのページにロードする必要がある css および javascript ファイルがますます増えます。その上、次のような条件文もあります

<!--[if lte IE 9]>

問題は、すべての css および js スクリプトの読み込みを asp.net ユーザー コントロールにバンドルし、すべての行をすべてのページ/マスターページに追加するのではなく、そのユーザー コントロールのみをページ ヘッダーに配置することは良い方法ですか?

あなたのソリューションは高く評価されています。

4

1 に答える 1

3

これは、自己完結型にするためにリソース (js、css、画像) をコントロールにバンドルするという、ユーザー コントロールの慣例です。

ただし、これから発生する主な問題は、リソースがクライアント側でキャッシュされないため、そのページが要求されるたびに読み込まれることです。さらに、複数のコントロールがリソースの一部またはすべてを使用する場合、それらは複数回読み込まれ、コードの再利用が妨げられます。

オプションを慎重に検討する必要があります。アプリがユーザー コントロールに依存しすぎている場合は、それを受け入れる必要があります。共通のリソースを特定して分離し、必要に応じてページにロードできます。

共通のリソースを特定し、それらを (ツールを使用するか手動で) 1 つのファイルにまとめ、個々のページ (または必要に応じてマスター ページ) に読み込み、js の縮小を行うことをお勧めします。通常、css は head に配置され、js はページの最後に配置されます。

単一のユーザー コントロールにすべてをバンドルすると、前述のように保守性、バージョン管理、およびもちろんキャッシュの問題が発生します。

特に css に関しては、ASP.Net テーマ (スタイルシート テーマ) を使用することをお勧めします。こうすることで、すべてのスタイルが 1 か所にまとめられ、簡単なカスタマイズ オプションが提供されます。

于 2013-10-02T15:15:31.487 に答える