ページに人物Aのリストと人物Bのリストがあるとします。そして、これら2つはL2Sの別個のクラスであり、2つの異なるテーブルを表します。したがって、次のように単一のモデルを渡すことはできません。
...
@model PeopleA
...
@foreach(var peopleA in Model.People) ...
@foreach(var peopleB in //what?)
したがって、私は従うべき3つのオプションがあると思います。
- 1つ目は、ページを部分ビューに分割して、モデルを
RenderAction
ヘルパーに渡すことができるようにすることです。これらの部分的なビューは一度だけ使用するので、このオプションは私には魅力的ではないようです。 - 2番目のオプションは、強く型付けされたモデルを好むため、使用したくない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#の方法がありますか?