asp.net-mvc – 将DropDownListFor绑定到字典
发布时间:2020-11-14 15:43:04 所属栏目: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-classic – 从Classic ASP执行存储过程
- 用AJAX实现的无刷新的分页实现代码(asp.net)
- asp.net-mvc – 如何在我的Asp.net Mvc中使用linq2sql存储库
- asp.net – 如何使用Fiddler编辑HTTP请求
- ASP.NET对大文件上传的解决方案
- c#中分布方法和分部类
- asp.net-mvc-3 – 具有最佳实践的示例N层ASP.NET MVC3应用程
- 在使用ASP.NET会话时是否可以强制请求并发?
- asp.net-mvc – 在EditorFor for child对象中使用时,MVC无法
- asp.net-mvc – 为什么Visual Studio崩溃打开ASPX与MVC RC1
推荐文章
站长推荐
- asp.net – IControllerFactory’MyWebSite.WebU
- ASP.NET Page_Init被解雇了两次!
- asp.net-mvc – MVC3验证与实体框架模型/数据库首
- iis-7 – ASP 3.0应用程序对象
- asp.net-mvc-3 – Azure网站上的RavenDb – 访问
- asp.net-mvc – 将viewdata传递给asp.net mvc ma
- asp.net – 适用于Linq To SQL DAL的静态方法吗?
- VS 2015 CTP 6 Nuget Package Source
- asp.net-mvc – 使用jQuery.post将多个参数发布到
- asp.net-mvc – AppDomain.GetAssemblies和Build
热点阅读
