创建DropDownList

时间:2014-05-09 11:10:21

标签: c# asp.net-mvc razor

我有一个包含表格的页面,其中列出了许多结果。我想引入多个下拉列表来过滤结果。

我想知道从后面的代码创建SelectedItems列表是否更好,并通过viewModel传递它或直接在Razor页面上创建DropDownList?

DropDownList永远不会在此页面上更改。

1 个答案:

答案 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" )
相关问题