Предположим, у вас есть список людей A и список людей B на странице. И это два отдельных класса в L2S, представляющих две разные таблицы. Следовательно, вы не можете передать одну модель следующим образом:
...
@model PeopleA
...
@foreach(var peopleA in Model.People) ...
@foreach(var peopleB in //what?)
Соответственно, я думаю, у меня есть три варианта для подражания.
- Первый - разделить страницу на частичные представления, чтобы я мог передать модель через
RenderAction
помощник. Поскольку я буду использовать эти частичные представления только один раз, эта опция не кажется мне привлекательной.
- Второй вариант - использовать ViewBags, которые мне не нужны, поскольку я предпочитаю строго типизированные модели.
- Наконец, последнее, что я собирался использовать, но хотел спросить, прежде чем это сделать, - это создать модель следующим образом:
ModelMyPage.cs
public List<PeopleA> peopleA { get; set; }
public List<PeopleB> peopleB { get; set; }
MyController.cs
...
ModelMyPage m = new ModelMyPage();
m.peopleA = // query
m.peopleB = // another query
return(m);
И у тебя есть идея. Это правильный способ выполнить мою задачу или есть лучший способ сделать то, что я хочу на C #?