データベースからオブジェクトのリストを取得し、このリストを返すコントローラーがあります。
public ActionResult Index()
{
var list = db.MyObjects.Where(x => x.family == "Web").ToArray();
list = list.Distinct(new MyObjectByProtocolComparer())
.OrderBy(x => x.fileName)
.ToArray();
ViewBag.Files = list;
return View();
}
インデックス.cshtml:
この戻りリストは に挿入されDropDownList
ます:
@using (Html.BeginForm())
{
<div>
@Html.DropDownList(
"File", new SelectList(ViewBag.Files,
"protocol_site", "protocol_site"),
"Select webmail site",
new { style = "vertical-align:middle;" }
)
<button type="submit">Select</button>
</div>
}
項目を 1 つ選択してボタンを押した後、もう 1 つのコントローラー メソッドは、DropDownList
項目名を取得して新しいデータベース クエリを作成することです。
[HttpPost]
public ActionResult Index(string File)
{
var list = db.MyObjects.Where(x => x.protocol == File).ToArray();
ViewBag.Files = list;
return View();
}
今何が起こっているかというと、新しいクエリが再び my に挿入されていますがDropDownList
、このリストを別のページに送信し、このページからこれを表示したいのですListView
。どうやってやるの ?