我有控制器从我的数据库中获取对象列表并返回此列表:
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>
}
从中选择一个项目并点击按钮后,我的另一个控制器方法是获取DropDownList
项目名称并进行新的数据库查询:
[HttpPost]
public ActionResult Index(string File)
{
var list = db.MyObjects.Where(x => x.protocol == File).ToArray();
ViewBag.Files = list;
return View();
}
现在发生的事情是新查询再次插入到我的DropDownList
但我希望这个列表发送到另一个页面并且我想从这个页面显示这个ListView
。我怎样才能做到这一点 ?