【问题标题】:How to reference property in ViewModel from Razor view如何从 Razor 视图中引用 ViewModel 中的属性
【发布时间】:2013-07-04 02:21:45
【问题描述】:

我有一个视图模型类,它有一个名为 Title 的属性,我想在 Razor 的索引视图上呈现它

public class vmAppointment
{
    public Appointment Appointment { get; private set; }
    public IEnumerable<SelectListItem> EmployeeList { get; set; }
    public string Title { get; set; }
}

索引视图

@model IEnumerable<JJ.ViewModels.vmAppointment>

<h2>@Model.Title</h2>  WRONG!  how can i reference my property here?

如何在视图中呈现属性值?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 razor


    【解决方案1】:

    您的视图被强类型化为vmAppointment 的集合,而不是单个vmAppointment。所以为了引用Title,你必须遍历这个集合的元素。例如:

    @foreach (var appointment in Model)
    {
        <div>Appointment title: @appointment.Title</div>
    }
    

    或者,如果您希望将视图强类型化为单个 vmAppointment 而不是集合,则让您的控制器操作返回此类的单个实例:

    vmAppointment model = ...
    return View(model);
    

    然后将您的视图强类型化为单个约会,您将能够直接引用Title 属性:

    @model JJ.ViewModels.vmAppointment
    <h2>@Html.DisplyFor(x => x.Title)</h2>
    

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多