ASP.NET MVC Strongly-Type ViewModel - объединить создание / список представлений - PullRequest
2 голосов
/ 25 февраля 2011

Я изучаю ASP.NET MVC и Entity Framework Code First, LINQ, создавая простую систему отслеживания ошибок / возможностей.Я хотел бы подражать интерфейсу Twitter, предоставив пользователю форму выше, а представленный контент появится ниже.Я не уверен, как структурировать строго типизированное представление и указанную модель.Я хотел бы объединить мои представления Create и Index в одно представление, проблема в том, что Create принимает запись одного типа (Pylon.Models.Entry), а Index принимает IEnumerable of Entry (IEnumerable<Pylon.Models.Entry>).Ниже мой класс viewmodel и представление Display.Я просто скопировал код, сгенерированный scaffolding, из представлений «Создать» и «Индекс», очевидно, что смешение разных моделей приводит к ошибкам во время выполнения, поэтому представление нарушается.Мой вопрос: как мне реструктурировать представление?

Ответы [ 2 ]

5 голосов
/ 25 февраля 2011

Выполните следующие изменения.

  1. установить @model EntryViewModel в верхней части представления.
  2. Для создания формы измените model => model.Description на model => model.Entry.Description, поэтому model будет заменено на model.Entry
  3. Для шаблона листинга внесите следующие изменения. @foreach (var item in Model.Entries )
2 голосов
/ 12 августа 2012

Я не прав, если это правильно.Сообщение в ASP.NET MVC 3 Шаблон модели представления говорит, что вы не должны использовать объекты модели в своей модели представления.может быть, вы бы дважды проверить?

...