0

レイアウト ページを使用してヘッダーとフッターを制御する MVC5 アプリがあります。レイアウト ページには、ナビゲーション バーなど、データベース駆動型のセクションがいくつかあります。これらの呼び出しを行う場所のベスト プラクティスがわかりません。2つの方法が考えられますが、どちらも完璧ではありません

方法 1: ページ ビュー モデルを使用してデータを渡します。このアプローチは好きではありません。私のホームページコントローラーは、レイアウトではなく、ホームページのコンテンツのみに関係する必要があります。これは、ビューごとに繰り返す必要があります。

方法 2: Ajax から WebAPI コントローラーへ。これは、リンクの作成やカスタム コンテンツのレンダリングに使用されている @URL や @HTML のようなものを失うことを意味すると思いますが、これに傾いています。

編集: 別の方法の方法 3: 開始時に情報をキャッシュにロードします。これは初期設定後に頻繁に変更される情報ではなく、このコードはすべてのページに表示されるため、いずれにせよキャッシュが必要になります。

4

1 に答える 1

4

ビュー内からコントローラー メソッドを呼び出す必要があります。あなたの見解では:

@Html.Action("MyAction", "MyController")

値を渡さなくても、このアクションが必要なものをすべて見つけられることを確認してください。これは、サービスの場所や依存性注入を介していくつかのプロジェクトで行われます。

于 2014-12-04T20:07:33.450 に答える