Как использовать несколько моделей в MVC3 ASP - PullRequest
0 голосов
/ 04 января 2012

Если у меня есть страница MVC3 ASP.net, которая содержит модель "iEnumerable<mymodel.CarsForHire>", которая напрямую связана с моделью структуры сущностей, и я также хочу сейчас включить модель управления пользователями по умолчанию, которую генерирует MVC3, как можноЯ использую обе модели одновременно?

Я предполагаю, что мне придется передать коллекцию или создать модель с именем "blah", в которой есть поле "carsforHire", которое выходит замуж за iEnumerable<mymodel.CarsForHire>, ноне уверен, с чего начать.

Любые идеи будут с благодарностью

Ответы [ 3 ]

3 голосов
/ 04 января 2012

Вы уже упомянули решение;создайте класс модели представления, который содержит все необходимые данные.Например:

public class SomeViewModel
{ 
   public User CurrentUser { get; set; }
   public IEnumerable<mymodel.CarsForHire> Cars { get; set; }
}

Создайте эту модель в контроллере и передайте ее в ваше представление.И не забудьте обновить объявление типа в верхней части вашего представления.

1 голос
/ 04 января 2012

Что я обычно делаю, это создаю класс ViewModel. Например:

public class CarsViewModel
{
    public IEnumerable<mymodel.CarsForHire> CarsForHire { get; set; }

    public UserModel User { get; set; }
}

Затем создайте представление с CarsViewModel вместо IEnumerable<mymodel.CarsForHire>

0 голосов
/ 04 января 2012

Вы можете использовать навигационные свойства EF, если хотите.
Т.е.

public class carForHire()
{
 int property1{get; set;}
 .
 .
 .
//Navigationla property
public virtual blah blah { get; set; }
}


на своей странице / просмотре вы можете получить к нему доступ как

@foreach(var item in Mode)
  {
 item.blah.blahProperty
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...