5

ログインしたユーザーに関する情報 (ユーザー名、会社名、通知数など) をレイアウトや部分ビューに表示したいと考えています。これらはすべてのページで共通です。このデータを取得するためのトリックはありますか、それとも各モデルを拡張してこの情報を保持する場合ですか?

4

2 に答える 2

22

子アクションを使用してレイアウトから呼び出すことをお勧めします。これにより、すべてのビューモデルで情報を実行することを回避できます。

元。

子供の行動

public class UserController
{
  [ChildActionOnly]
  public PartialViewResult UserInfo()
  {
     var userInfo = .. get the user information from session or db

     return PartialView(userInfo);
  }
}

部分図

@model UserInfoModel

@Html.DisplayFor(m => m.UserName)
@Html.DisplayFor(m => m.CompanyName)
...

レイアウト ビュー

<header>
  @Html.Action("UserInfo", "User")
</header>
于 2012-07-18T14:51:27.043 に答える
0

要件に適した MVC でマスター ページを作成することもできます。MVC で部分ビューを作成する方法については、このリンクを参照してください。

部分的なビュー

于 2012-07-18T10:18:07.457 に答える