asp.net-mvc – 将DropDownListFor绑定到字典
发布时间:2020-11-17 11:36:16 所属栏目: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) (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 已经使用相同的参数类型定义了一个名为“Cr
- Asp.NetCore1.1版本去掉project.json后如何打包生成跨平台包
- asp.net – 如何从WCF客户端拦截raw soap request / respon
- asp.net – 在Web.config帮助中定义tagPrefixes
- asp.net文件上传示例分享
- asp.net-mvc – 将DropDownListFor绑定到字典
- ASP.NET 2.0和4.0似乎在Forms身份验证中以不同方式处理根UR
- asp.net – Url片段为空
- asp.net – ASPXAUTH cookie未保存
- asp.net-web-api2 – 在WebAPI2项目中加载System.IdentityM
推荐文章
站长推荐
- asp.net Ajax之无刷新评论介绍
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-optio
- asp.net-web-api – 首先使用ASP.NET Web API的E
- asp.net字符串分割函数使用方法分享
- asp.net-mvc – ASP.NET MVC 3 Treeview
- asp.net-mvc – 如何在我自己的自定义助手中使用
- asp.net – 为不同项目中的所有Web应用程序网页添
- asp.net – 数据注释 – 使用属性扩展并在资源文
- asp.net-mvc – LabelFor和TextBoxFor不生成相同
- Asp.net webForm设置允许表单提交Html的方法
热点阅读