首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:没有ViewData

错误:没有ViewData
EN

Stack Overflow用户
提问于 2013-10-28 11:06:42
回答 1查看 118关注 0票数 0

我是mvc4(asp.net(vb.net),剃须刀引擎)的新手。这让我很烦。它完美地工作在负载上,如果我完成表单并提交它。

它显示了以下错误。

没有具有键CustomerGroupId的‘’iEnumerable‘类型的视图数据

在控制器(Get)中

代码语言:javascript
复制
 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 Function

In (.vbhtml)

代码语言:javascript
复制
<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>

的行中显示错误。

代码语言:javascript
复制
<tr><td>Customer Sub Group Name </td><td>@Html.DropDownList("CustomerSubGroupId")</td></tr>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-28 11:26:42

在您的控件操作中,您必须添加一个具有与视图中使用的Id相同的密钥,以便在DropDownList上应用,用于示例:

代码语言:javascript
复制
ViewBag.CustomerSubGroupId = New SelectList(_Engine.RteCustomerSubGroupFactory.CodeFactory.Values)
ViewBag.RateList = New SelectList(_Engine.RteRateListFactory.Values)
Return View()

在视图中,可以使用:

代码语言:javascript
复制
@Html.DropDownList("CustomerSubGroupId")

@Html.DropDownList("RateList")

原因是ViewBag封装了ViewData,这就是为什么消息说您在ViewData上没有密钥。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19633105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档