0

私は現在、JavaScript ファイルを必要なときにだけロードする良い方法を見つけようとしています。これを行うために、faceboxlinks、datepickerfields、tinymcefields、および外部 js と初期化 jquery 式を必要とするその他のスクリプト用にいくつかの HtmlHelper を作成しました。これらのヘルパーでは、jQuerygetScript()を使用してスクリプトを実行し、そのコールバック関数を使用してスクリプトを初期化します。

今私の問題が来ます。私が最初に考えたのは、これらのスクリプトを文字列のリストで追跡し、これを htmlHelper.ViewData に入れることでした。しかし、残念ながらこれは失敗します。何らかの理由で、このビューデータは部分ビューなどに渡されません。それはリストを保持しません..

ヘルパーの ViewDataDictionary の代わりに文字列のリストをグローバルに保持できる別の場所はありますか、またはこの ViewData を間違った方法で使用しているので、何らかの理由でそれを渡す必要がありますか? 説明や助けをいただければ幸いです。

4

1 に答える 1

0

HttpContext.Current.Items コレクションを使用して、現在の要求に関連するデータを格納できます。

ただし、アーキテクチャを再設計して、グローバル変数に依存しないようにする必要があると思います(ViewDataとItemsは最終的にあなたのケースになります)。

これを見てください: ASP.NET MVC ビューに JavaScript を追加するにはどうすればよいですか? と同様です。

于 2009-10-26T11:15:42.327 に答える