asp.net-mvc-4 – MVC 4 DropDownListFor错误 – 没有具有密钥的
我有一个模特:
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 – 错误BC30456:'[方法]’不是’ASP.[CodeBeh
- typescript – 浏览中ts文件的空内容
- asp.net-mvc – 用于ASP.NET MVC 3的NuGet软件包
- asp.net-mvc-3 – 修改StringLength验证的默认ErrorMessage
- 在asp.net mvc中如何使用usercontrols来显示“岛”数据?
- asp.net-mvc – 什么是AsyncManager.OutstandingOperations
- ASP.Net Core 2.0和日志记录
- asp.net-mvc – 带有MVC 3文件上传的空Request.Files
- asp.net-mvc-3 – MVC 3模型的复杂验证
- asp.net-mvc – LINQ匿名类型MVC视图
- asp.net-mvc – 使用Url.action调用控制器方法时
- asp.net – 与SQL Server建立连接时出现网络相关
- asp.net – System.Web.UI.ViewStateException,无
- asp.net C#中的SQL IN运算符
- ASP.NET Web Service中XML文档中的非法字符
- asp.net – 使用OAuth在Web API中进行身份验证
- asp.net – 在Visual Studio 2008中将后期构建事
- 如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限
- asp.net-web-api – Net Web API – 如何在Get上
- 定期刷新局部视图(ASP.Net MVC)