我对MVC有点新意,所以我需要一些帮助。
我有这个局部观点:
@model MySite.Models.Account.UserProfile
<ul id="nav-user">
<li class="user-name">
@String.Format("{0} {1}", Model.FirstName, Model.LastName)
</li>
</ul>
并在我的布局文件中呈现它:
<nav id="main">
@Html.Partial("NavUserPartial")
</nav>
在WebForms中,我会在这里使用名为NavUser的用户控件,并在用户控件后面的代码中设置登录数据。
如何在MVC中使用部分视图?我在哪里设置这些数据?
答案 0 :(得分:4)
对于主视图,创建一个viewmodel类。
public class MyViewModel
{
public UserProfile UserProfile { get; set; }
}
并在部分视图中使用它,如下所示:
@model UserProfile
<ul id="nav-user">
<li class="user-name">
@String.Format("{0} {1}", Model.FirstName, Model.LastName)
</li>
</ul>
渲染主视图时,您可以传递所需的任何内容,如下所示:
<nav id="main">
@Html.Partial("NavUserPartial", Model.UserProfile )
</nav>
只需根据您的需求定制代码。
我经常使用viewmodels,总体而言他们使设计MVC视图变得更加容易。当然,我的观点更容易维护。