2012-07-18 18 views
5

レイアウトおよび/または部分的なビューにログインしたユーザーに関する情報(ユーザー名、会社名、通知の数など)を表示します。これらはすべてのページで共通しています。このデータを入手するためのトリックはありますか、または各モデルを拡張してこの情報をそれらに含める場合はありますか?MVCを使用して部分的なビューまたはレイアウトにデータを取得

答えて

22

私はあなたの子供の行動のために行くことができ示唆し、あなたが情報を遂行避けることができるこの方法では、レイアウトからそれを呼び出します。すべてのビューモデルで

Ex。

子アクション

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> 
+0

グレート - 私が望んでいた、まさに。ご回答有難うございます。 –

0

MVCでマスターページを作成しても、あなたの要件に適しています。このリンクをチェックアウト MVC

PARTIAL VIEWS

に部分図を作成する方法を学ぶために
関連する問題