ASP.NET MVC3 ForEach на двух разных структурах данных - PullRequest
0 голосов
/ 02 июня 2011

Я понимаю, как обрабатывать цикл foreach для одной структуры данных, используя наследование страниц в ASP.NET MVC, но я хочу отображать содержимое двух разных типов данных на одной странице.Как это можно сделать, поскольку страницы принимают только один класс для наследования?

Ответы [ 4 ]

3 голосов
/ 02 июня 2011

Как указали ребята до меня, правильный ответ, если мы вас правильно поняли, - композиция .Идея состоит в том, чтобы дать странице одну модель, которая содержит две другие модели, например.

public class Car {
    public Motor Engine { get; set; }
    public List<Seat> Seats { get; set; }
}

Идея состоит в том, что ваш класс теперь происходит от ViewPage<Car>, что позволяет вам сделать это:

Находясь под управлением двигателя <% = Model.Engine.ToString ()%>, есть:

<ul>
<% foreach(var seat in Model.Seats) { %>
       <li><%= seat.ToString() %>
<% } %>
</ul>

Надеюсь, что это ответ на ваш вопрос.

3 голосов
/ 02 июня 2011

Мне известны следующие два варианта:

  1. Создание класса, содержащего оба подкласса (модель представления).
  2. Использование ViewData или ViewBag для передачи одного или нескольких экземпляровна вид.
1 голос
/ 02 июня 2011

Композиция

public class CompositeViewModel
{
    public ViewModelClass1 ViewModel1 { get; set; }
    public ViewModelClass2 ViewModel2 { get; set; }
}
0 голосов
/ 02 июня 2011

Создание класса модели представления.

class ViewModel 
{
    MyClass1 Object1 { get; set; }
    MyClass2 Object2 { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...