asp.net-mvc – 将DropDownListFor绑定到字典
发布时间:2020-11-17 10:51:18 所属栏目:asp.Net 来源:互联网
导读:我正在创建和填充字典,并希望使用 DropDownListFor帮助方法将其绑定到下拉列表. 如何将该字典的键和值映射到下拉列表? 看起来我应该可以做类似的事情: @Html.DropDownListFor(o = o.key, o = o.value, MyDictionary); 看起来第一个参数应该是映射键/值对的L
我正在创建和填充字典,并希望使用 DropDownListFor帮助方法将其绑定到下拉列表. 如何将该字典的键和值映射到下拉列表? 看起来我应该可以做类似的事情: @Html.DropDownListFor(o => o.key,o => o.value,MyDictionary); 看起来第一个参数应该是映射键/值对的LINQ语句,第二个参数是字典本身. 解决方法您无法将下拉列表绑定到字典.这没有意义.为了生成下拉列表,您需要两件事:一个用于绑定所选值的标量属性和一个用于绑定下拉列表选项的集合.你只有这两件事中的第二件就是字典.所以你不能使用强类型帮助器.你可以做以下丑陋: @Html.DropDownList("SelectedValue",new SelectList(MyDictionary,"Key","Value")) 但当然更好的方法是使用视图模型: public class MyViewModel { public string SelectedValue { get; set; } public SelectList Values { get; set; } } 您将在控制器操作中填充: public ActionResult Foo() { Dictionary<string,string> dic = ... var model = new MyViewModel { Values = new SelectList(dic,"Value") }; return View(model); } 最后在你的强类型视图中: @model MyViewModel @Html.DropDownListFor(x => x.SelectedValue,Model.Values) (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – IIS 6.0和ASPX中的404自定义错误不起作用
- asp.net – 何时覆盖OnError?
- ASP.NET缓存的方法和最佳实践
- 增加ASP.NET站点的executionTimeout和maxRequestLength是否
- 单元测试 – 如何在ASP MVC 5(Microsoft.AspNet.Identity)中
- asp.net – 防止XSS(跨站脚本)
- asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 – 拖放,预览
- asp.net-mvc – KendoUI网格显示总记录数
- ASP.NET中XML转JSON的方法实例
- global-variables – MVC 3 Razor _ViewStart中的公共变量
推荐文章
站长推荐
热点阅读