EP2*_*012 0 asp.net-mvc html-select asp.net-mvc-3
我的MVC项目有一个下拉列表.
@Html.DropDownList("Chart Type", new List<SelectListItem>
{
new SelectListItem{ Text="Horizontal", Value = "Horizontal" },
new SelectListItem{ Text="Vertical", Value = "Vertical" },
new SelectListItem{ Text="Pie", Value = "Pie" }
},
new { @class = "chzn-select", @multiple ="true", @style="width:350px;"} )
Run Code Online (Sandbox Code Playgroud)
这会将硬编码值放入列表中.如果我想从数据库中获取值,最好的方法是什么?
我可以Html.DropDownList使用sql查询或SP来填充列表吗?
使用(至少)两个属性创建视图模型:
public class ViewModel()
{
public List<SelectListItem> Items { get; set; }
public string SelectedItem { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,调用数据源并填充视图模型的Items属性并将其传递给视图.
public ActionResult Index()
{
var viewModel = new ViewModel();
viewModel.Items = database.GetChartTypes();//or however you're accessing your data
return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)
然后强烈键入您的视图并使用DropDownListFor帮助器
@model MyProject.ViewModel
...
@Html.DropDownListFor(m => m.SelectedItem,
Items,
"--Select a Chart Type--",
new { @class = "chzn-select",
@multiple ="true",
@style="width:350px;"
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2439 次 |
| 最近记录: |