ベースコントローラーでデータを取得してリストに保存するというユニークなシナリオがあります。ViewData と同じように、ビューからリストにアクセスできる必要があります。私はすべてのページでこのリストを使用し、ViewDataDictionary に押し込むよりもクリーンなソリューションが必要です。
解決策を見つけようとした後、リストを保持するプロパティを持つカスタム ViewPage を作成することにしました。私のカスタム ViewPage は System.Web.MVC.ViewPage から継承します。ただし、MVC がコントローラーからビューにビューデータを渡す場所がわかりません。さらに重要なことに、リストをビューに渡すにはどうすればよいですか?
助けてくれてありがとう。
編集....
混乱させて申し訳ありません。混乱を避けるために、質問をできるだけ単純にしようとしていました。明らかに、それはうまくいきませんでした:)
.net mvc プロジェクトで独自のセッション管理を実装しています。リクエストが届くと、ベース コントローラーは、OnActionExecuting メソッドでリクエストと共にセッション Cookie が送信されたかどうかを確認します。セッション Cookie が送信された場合、コントローラーはデータベースにアクセスし、ユーザーのセッション情報を取得します。セッション情報 (ユーザー ID など) は List オブジェクトに入れられ、「Sess」というプロパティに格納されます。
次のように、ビューから Sess リストの要素にアクセスできるようにしたいと考えています。
では、コントローラーが Sess リストをビューに渡す方法と場所を教えてください。
これは、カスタム セッション管理が .net で通常実装される方法ではないことを認識しています。ただし、これは私のプロジェクトにとって最も単純でクリーンなソリューションです。
これまで助けてくれたすべての人に感謝します!