レイアウト ページを使用してヘッダーとフッターを制御する MVC5 アプリがあります。レイアウト ページには、ナビゲーション バーなど、データベース駆動型のセクションがいくつかあります。これらの呼び出しを行う場所のベスト プラクティスがわかりません。2つの方法が考えられますが、どちらも完璧ではありません
方法 1: ページ ビュー モデルを使用してデータを渡します。このアプローチは好きではありません。私のホームページコントローラーは、レイアウトではなく、ホームページのコンテンツのみに関係する必要があります。これは、ビューごとに繰り返す必要があります。
方法 2: Ajax から WebAPI コントローラーへ。これは、リンクの作成やカスタム コンテンツのレンダリングに使用されている @URL や @HTML のようなものを失うことを意味すると思いますが、これに傾いています。
編集: 別の方法の方法 3: 開始時に情報をキャッシュにロードします。これは初期設定後に頻繁に変更される情報ではなく、このコードはすべてのページに表示されるため、いずれにせよキャッシュが必要になります。