1

ポーカー リーグのサイトを書いています。_Layout ページには、次の試合日や今シーズンの残り試合数などのデータベース情報を含めたいと思います。この情報をすべてのページに表示したいので、_Layout が最適なページだと思います。

このエンティティ フレームワーク データを取得するにはどうすればよいですか? _Layout は、独自のコントローラーを使用する他のビューのテンプレートにすぎないため、コントローラーはその方法ではないと思います。

情報やリソースをいただければ幸いです。

前もって感謝します、

ポール。

4

3 に答える 3

1

すべてのコントローラーが継承する基本コントローラーを作成する必要があります。そこでメソッドを上書きし、OnActionExecuting()そのデータを DB やキャッシュなどからロードして、Viewbag に渡すことができます。

public class ControllerBase {
  protected override void OnActionExecuting(ActionExecutingContext ctx) {
      Viewbag.LayoutPageData = ...;
  }
}

または、すべての Viewmodels に基本クラスを使用して、モデルと共にデータをビューに渡すことができます。

レイアウト ページもビューなので、viewmodel クラスで厳密に型指定できます。

于 2013-06-10T10:37:48.440 に答える
0

このサンプルのように Html.Action を使用することもできます

http://kazimanzurrashid.com/posts/viewdata-or-viewbag-avoid-dependency-pollution-in-asp-dot-net-mvc-controller

于 2013-06-10T14:42:57.957 に答える