0

かなり複雑な新しいコントロールを開発しました。また、最初に開いたときにページに表示されず、ユーザーがボタンをクリックして表示したときにのみ表示されることも知っています (したがって、最初にポストバックに表示されます)。また、Microsoft の ASP.NET AJAX フレームワークを使用して、すべてのポストバックを部分的に更新します。

コントロールはかなり複雑なので、多数の JavaScript ファイルに依存し、独自の CSS ファイルといくつかの画像があります。それらを常に含めるのは合理的ではありません。なぜなら、それはいくつかの形式でのみ存在し、常に存在するとは限らないからです. また、現在、コントロールの複数のインスタンスをホストする必要はありませんが、このオプションを開いたままにしておきたいと思います.

では、CSS/JS ファイルが (そのようなコントロールが複数ある場合でも) ページに 1 回だけ含まれるようにするにはどうすればよいでしょうか。これらのリソースを不必要に再ダウンロードしようとしないでください)?

Page.ClientScript.RegisterClientScriptInclude()AJAX ポストバックでは機能しません。ScriptManager.RegisterClientScriptInclude()既にダウンロードされている場合でも、リクエストごとにブラウザにスクリプトを再ダウンロードさせます。また、どちらも CSS を含むには使用できません。ほかに何か?

4

1 に答える 1

0

Web ユーザー コントロールを作成していて、jquery ファイルを複数回含めることに懸念がある場合、私が考えることができる最も簡単なアプローチは、次のようなものです。

<script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="/js/jquery-1.9.1.min.js" type="text/javascript"%3E%3C/script%3E'))</script>
于 2013-04-27T05:00:14.447 に答える