我有一个包含表格的页面,其中列出了许多结果。我想引入多个下拉列表来过滤结果。
我想知道从后面的代码创建SelectedItems列表是否更好,并通过viewModel传递它或直接在Razor页面上创建DropDownList?
DropDownList永远不会在此页面上更改。
答案 0 :(得分:0)
请注意,您可以使用许多解决方案,但最好将关注点分离到控制器内的代码中。因此,您可以将列表(用于下拉列表)放在ViewBag
对象中,然后在视图中创建一个下拉列表,将此ViewBag
作为SelectList。为了更灵活和尊重MVC模式,视图仅用于显示来自控制器的数据。
这里只是一个例子:
在您的控制器中:
public ActionResult Index()
{
....
ViewBag.MyDropDownList1 = context.someTables.Select(t=>t);
}
在你的观点中:
@Html.DropDownListFor(m=>m.Somefields, ViewBag.MyDropDownList1 as SelectList,"Make the choice" )