我正在编写一个 MVC 5 互联网应用程序,当我的模型未通过验证时会报告错误。
这是我的创建视图中的错误,如下所示:
System.Web.Mvc.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
附加信息:具有键“assetCategory”的 ViewData 项属于“System.String”类型,但必须属于“IEnumerable”类型。
在这行代码:
@Html.DropDownListFor(m => m.assetCategory, Model.assetCategories, htmlAttributes: new { @class = "form-control" })
以下是相关字段:
public IEnumerable<SelectListItem> assetCategories { get; set; }
public string assetCategory { get; set; }
这是完整的组代码:
<div class="form-group">
@Html.LabelFor(model => model.assetCategory, null, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(m => m.assetCategory, Model.assetCategories, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.assetCategory, "", new { @class = "text-danger" })
</div>
</div>
仅当模型未验证时才会发生此错误。如果模型确实验证,则不会发生错误,并且下拉列表已填充,我可以检索assetCategory 字符串中的选定值。
我可以对这段代码有一些帮助吗?