C# 初始化局部视图的数据

C# 初始化局部视图的数据,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我对MVC有点陌生,所以我需要一些帮助 我有这样的片面看法: @model MySite.Models.Account.UserProfile <ul id="nav-user"> <li class="user-name"> @String.Format("{0} {1}", Model.FirstName, Model.LastName) </li> </ul> @model MySite.Models.Ac

我对MVC有点陌生,所以我需要一些帮助

我有这样的片面看法:

@model MySite.Models.Account.UserProfile

<ul id="nav-user">
    <li class="user-name">
        @String.Format("{0} {1}", Model.FirstName, Model.LastName)
    </li>
</ul>
@model MySite.Models.Account.UserProfile
  • @String.Format(“{0}{1}”,Model.FirstName,Model.LastName)
并在我的布局文件中呈现它:

<nav id="main">
    @Html.Partial("NavUserPartial")
</nav>

@Html.Partial(“NavUserPartial”)
在WebForms中,我将在此处使用名为NavUser的用户控件,并在用户控件的代码隐藏中设置登录数据


如何在MVC中使用局部视图来实现这一点?在哪里设置该数据?

对于主视图,创建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>
@model用户配置文件
  • @String.Format(“{0}{1}”,Model.FirstName,Model.LastName)
渲染主视图时,可以传递任何需要的内容,如:

<nav id="main">
    @Html.Partial("NavUserPartial", Model.UserProfile )
</nav>

@Html.Partial(“NavUserPartial”,Model.UserProfile)
只需根据您的需要定制代码


我经常使用viewmodels,总的来说,它们使设计MVC视图变得更加容易。当然,我的视图更易于维护。

对于主视图,创建一个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>
@model用户配置文件
  • @String.Format(“{0}{1}”,Model.FirstName,Model.LastName)
渲染主视图时,可以传递任何需要的内容,如:

<nav id="main">
    @Html.Partial("NavUserPartial", Model.UserProfile )
</nav>

@Html.Partial(“NavUserPartial”,Model.UserProfile)
只需根据您的需要定制代码

我经常使用viewmodels,总的来说,它们使设计MVC视图变得更加容易。当然,我的观点更容易坚持