2013-07-02 3 views
0

У меня есть класс вид модели, который имеет атрибут, называемый заголовок, который я хотел бы вынести на индексном в бритвеКак ссылаться недвижимость в ViewModel с точки зрения Razor

КЛАСС

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

INDEX VIEW

@model IEnumerable<JJ.ViewModels.vmAppointment> 

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

Как я могу отобразить стоимость недвижимости в представлении?

ответ

4

Ваше мнение строго типизировано для коллекции 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> 
Смежные вопросы