これは、自己完結型にするためにリソース (js、css、画像) をコントロールにバンドルするという、ユーザー コントロールの慣例です。
ただし、これから発生する主な問題は、リソースがクライアント側でキャッシュされないため、そのページが要求されるたびに読み込まれることです。さらに、複数のコントロールがリソースの一部またはすべてを使用する場合、それらは複数回読み込まれ、コードの再利用が妨げられます。
オプションを慎重に検討する必要があります。アプリがユーザー コントロールに依存しすぎている場合は、それを受け入れる必要があります。共通のリソースを特定して分離し、必要に応じてページにロードできます。
共通のリソースを特定し、それらを (ツールを使用するか手動で) 1 つのファイルにまとめ、個々のページ (または必要に応じてマスター ページ) に読み込み、js の縮小を行うことをお勧めします。通常、css は head に配置され、js はページの最後に配置されます。
単一のユーザー コントロールにすべてをバンドルすると、前述のように保守性、バージョン管理、およびもちろんキャッシュの問題が発生します。
特に css に関しては、ASP.Net テーマ (スタイルシート テーマ) を使用することをお勧めします。こうすることで、すべてのスタイルが 1 か所にまとめられ、簡単なカスタマイズ オプションが提供されます。