Asp.Net MVC Viewページには「GetEnumerator」の共通定義は含まれていません

5185 ワード

'/'アプリケーションのサーバーエラー。


コンパイルエラー


説明:このリクエストにサービスを提供するために必要なリソースをコンパイル中にエラーが発生しました.次の特定のエラーの詳細を確認し、ソースコードを適切に変更してください.コンパイラエラーメッセージ:CS 1579:「Web.Models.Book」には「GetEnumerator」の共通定義が含まれていないため、foreach文は「Web.Models.Book」タイプの変数ソースエラーには使用できません.
 
  16:     <td>  </td>
  17: </tr>
  18: @foreach (var item in Model)
  19: {
  20: <tr>

Viewコード:
 
@model List<Web.Models.Book>
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
@Html.ActionLink("add", "add", "book")
<br />
<br />
<table>
<tr>
    <td>ID</td>
    <td>  </td>
    <td>  </td>
    <td>  </td>
    <td>  </td>
</tr>
@foreach (var item in Model)
{
<tr>
    <td>@item.ID</td>
    <td>@item.name</td>
    <td>@item.price</td>
    <td>@item.time</td>
    <td>  </td>
</tr>
}
</table>

 
解決方法:
エラーは最初の行です.デフォルトのモデルではforeach機能が使用できないので、変換して、最初の行を以下のコードに変更しなければなりません.
@model List
または
@model ICollection
なぜか歩いてhttp://www.cnblogs.com/flyfish2012/archive/2013/01/22/2871273.html