我是mvc4(asp.net(vb.net),剃须刀引擎)的新手。这让我很烦。它完美地工作在负载上,如果我完成表单并提交它。
它显示了以下错误。
没有具有键CustomerGroupId的‘’iEnumerable‘类型的视图数据
在控制器(Get)中
Function Create() As ActionResult
_Engine = CType(HttpContext.Application("Engine"), Engine)
ViewBag.CustomerSubGroup = New SelectList(_Engine.RteCustomerSubGroupFactory.CodeFactory.Values)
ViewBag.RateList = New SelectList(_Engine.RteRateListFactory.Values)
Return View()
End FunctionIn (.vbhtml)
<table>
<tr><td>Code </td><td>@Html.TextBox("Code")</td></tr>
<tr><td>Name</td><td>@Html.TextBox("Name")</td></tr>
<tr><td>Customer Sub Group Name </td><td>@Html.DropDownList("CustomerSubGroupId")</td></tr>
<tr><td>Rate List</td><td>@Html.DropDownList("RateList")</td></tr>
<tr><td>IsDisabled</td><td>@Html.CheckBox("IsDisabled")</td></tr>的行中显示错误。
<tr><td>Customer Sub Group Name </td><td>@Html.DropDownList("CustomerSubGroupId")</td></tr>发布于 2013-10-28 11:26:42
在您的控件操作中,您必须添加一个具有与视图中使用的Id相同的密钥,以便在DropDownList上应用,用于示例:
ViewBag.CustomerSubGroupId = New SelectList(_Engine.RteCustomerSubGroupFactory.CodeFactory.Values)
ViewBag.RateList = New SelectList(_Engine.RteRateListFactory.Values)
Return View()在视图中,可以使用:
@Html.DropDownList("CustomerSubGroupId")
@Html.DropDownList("RateList")原因是ViewBag封装了ViewData,这就是为什么消息说您在ViewData上没有密钥。
https://stackoverflow.com/questions/19633105
复制相似问题