asp.net-mvc-4 – MVC 4 DropDownListFor错误 – 没有具有密钥的’IEnumerabl
我有一个模特: public class Auction { public string Title { get; set; } public string category { get; set; } } 和控制器: [HttpGet] public ActionResult UserForm() { var categoryList = new SelectList(new[] { "auto","elec","games","Home" }); ViewBag.categoryList = categoryList; return View(); } 在视图中我有以下几行: <div class="editor-field"> @Html.DropDownListFor(model => model.category,(SelectList)ViewBag.categoryList) @Html.ValidationMessageFor(model => model.category) </div> 我尝试保存表单时遇到的错误是:
我不明白是什么问题,因为我做了(或试图做)本指南中完成的所有事情: 该视频也可以在此链接中找到(第6章 – 自动绑定到请求中的数据): 解决方法
这就是你的问题所在.我怀疑你没有在post方法中重建你的列表. get方法中的以下代码行也应该在post方法中,特别是如果要返回相同的视图,或者在下拉列表中使用ViewBag.categoryList的视图. var categoryList = new SelectList(new[] { "auto","Home" }); ViewBag.categoryList = categoryList; 当您使用带有dropdownlistfor html帮助器的null对象时,会出现这种错误.如果您执行类似的操作,则可以轻松复制该错误 @Html.DropDownListFor(model => model.PropertyName,null) // or @Html.DropDownList("dropdownX",null,"") (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – MVC 3 $.ajax – 响应似乎是从部分视图缓
- asp.net-core – 编译netcoreapp1.0,代码包含#if!NETSTAND
- asp.net – MVC 4导出到CSV – 另存为对话框在Chrome和Fire
- asp.net-mvc – 模型单元测试能否真正独立,如何[ASP.NET MV
- VS 2013 RC中缺少ASP.NET Web窗体脚手架功能
- asp.net core 实现一个简单的仓储的方法
- 实体框架 – 等同于.HasOptional在实体框架核心1(EF7)
- iis-7 – ASP 3.0应用程序对象
- ASP.Net – AJAX UpdatePanel中的Javascript
- asp.net-mvc – ASP.NET MVC中的WebApi [FromUri]是什么?
- asp.net – 转发器控件中的单选按钮列表
- asp.net – 在我的网站中添加HttpModule时出现“
- 过滤ASP.NET Core API中的属性
- asp.net – 如何将Controller上的Ajax reqest重定
- asp.net – Ajax上的Identity Server 3 – 401而
- ASP.NET Core 2.0中Razor页面禁用防伪令牌验证
- asp.net – 错误:数据绑定方法(如Eval(),XPath(
- asp.net – 在剃刀中等同于End / Response.End?
- asp.net – 无法在UpdatePanel中下载文件
- asp.net实现生成缩略图及给原始图加水印的方法示