同様の質問を見つけようとしましたが、どれも私のシナリオに一致しません。だから私はこれを新しい質問として投稿しています。私のモデルとコントローラーは次のようになります。
モデル:
public class table1
{
public string name1 { get; set; }
}
public class table2
{
public string name2 { get; set; }
}
public class bothTable
{
public table1 table1 { get; set; }
public table2 table2 { get; set; }
}
コントローラ:
List<table1> list1 = //generate list from table1
List<table2> list2 = //generate list from table2
var model = ?
return View(model);
両方の出力リストをモデルに渡して、ビューに渡す方法が必要です。明らかに、table1とtable2の両方に複数のプロパティがあり、list1とlist2はLINQから生成されるため、複数の結果が得られます。
両方のリストをビューに渡すことができるように、モデルがどのように表示されるかについて誰かに教えてもらえますか?
私はこのリンクを参照していましたが、私のシナリオと完全には一致しません:http://forums.asp.net/t/1998033.aspx?Passing + multiple + Models + to + View + from + Controller
Stackoverflowで他の同様の質問も参照しましたが、目的の結果を得ることができませんでした。
ビューに必要なすべての情報を含むViewModelを作成する必要があります。
public class MyViewModel {
public List<table1> TheFirstTable {get;set;}
public List<table2> TheSecondTable {get;set;}
}
あなたはこのようにそれを埋めることができます
MyViewModel viewModel = new MyViewModel();
viewModel.TheFirstTable = //first table content
viewModel.TheSecondTable = //second table content
return View(viewmodel);
ビューでは、次のようなモデルから情報を取得できます。
Model.TheFirstTable
またはforeachループで使用します
@foreach(var row in Model.TheFirstTable) {
//do something with the row
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加