2013-10-28 52 views
0

我是新來mvc4(asp.net(vb.net),剃刀引擎).. 這是討厭我。它完美的工作負載,如果我填寫表格並提交。
它顯示以下錯誤。錯誤:沒有ViewData的

沒有type'iEnumerable'that的可視數據具有 關鍵CustomerGroupId

在控制器(獲取)

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 

在View(.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> 
+0

不應該在您的視圖中使用CustomerSubGroup而不是CustomerSubGroupId? – PmanAce

+0

@PmanAce thankqqqq,它工作正常現在:) – Shu

+0

我認爲這是「表單字段返回的名字。」我想知道如何加載該頁面,這將如何工作。我會盡管有@ Html.DropDownList(「CustomerSubGroupId」,ViewBag.CustomerSubGroup);除非有其他腳本以某種方式填充下拉列表 - 我懷疑。 – Spock

回答

0

在你的控制研究行動,呃,你必須添加一個鍵與已在視圖中使用,適用於DropDownList相同的ID,樣品:

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的關鍵。

+0

@Felipe ..謝謝你...現在它的工作.... – Shu

相關問題