0

私は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 Function

ビュー内(.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>
4

1 に答える 1

0

コントローラーのアクションで、ビューで使用したのと同じ 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 にキーがないというメッセージが表示されます。

于 2013-10-28T11:26:42.567 に答える