2

Asp.net と MVC は初めてです。編集機能を実行しようとしていますが、エラーが発生します。
CS1061: 'System.Collections.Generic.IEnumerable' に 'Idx' の定義が含まれておらず、タイプ 'System.Collections.Generic.IEnumerable' の最初の引数を受け入れる拡張メソッド 'Idx' が見つかりませんでした (ディレクティブまたはアセンブリ参照を使用していますか?)

コード

@model IEnumerable<SealManagementPortal_3._0.Models.VOC_CUSTODIAN>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            StaffID
        </th>
        <th>
            Name
        </th>
        <th>
            IC
        </th>
        <th>
            Phone
        </th>
        <th>
            Branch
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.StaffId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.NRICNo)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.MobileNo)
        </td>
         <td>
            @Html.DisplayFor(modelItem => item.Branch)
        </td>
        <td>
         @Html.ActionLink("Details", "Details", new { id=Model.Idx }) // error here
         </td>

    </tr>
}

</table>
4

2 に答える 2

2

あなたはまだアイテム列挙子を参照しています。したがって、 Modelではなくitemである必要があります。

 @Html.ActionLink("Details", "Details", new { id = item.Idx })
于 2012-06-14T05:53:12.950 に答える
1

actionlink の id プロパティを Model.Idx に設定しようとしましたが、Model は VOC_CUSTODIAN オブジェクトの IEnumerable です。コレクションの現在の列挙子の Idx 値を使用する必要がありました。ループ内の他のすべての HTML コントロールと同様に、「モデル」を「アイテム」に変更するだけです。

@Html.ActionLink("Details", "Details", new { id= item.Idx })
于 2012-06-14T05:59:28.530 に答える