Предположим, у вас есть список людей 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);
И у тебя есть идея. Является ли это действительным способом выполнения моей задачи или есть лучший способ С# делать то, что я хочу?