この関連トピックを見つけましたが、私の質問に答えることができませんでした。
強く型付けされたビューを自動的に作成する場合、たとえばList
スキャフォールディングテンプレートを使用すると、大まかに次のようになります。
@model IEnumerable<Test.Models.abc>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.ID)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ID)
</td>
</tr>
}
</table>
@Html.DisplayNameFor(model => model.ID)
私は完全に理解していますが、そうではありません@Html.DisplayFor(modelItem => item.ID)
。
目的はmodelItem
何ですか?任意のテキストに置き換えると、機能するWebページになります。modelItemは単なる使い捨ての言葉のようです。私の本当の質問は、なぜこれが機能しないのかということだと思います。
@Html.DisplayFor(item => item.ID)
編集
コメントで良い点が指摘されました。model
ラムダ式の両側で変更する限り、何にでも変更できるようです。
@Html.DisplayNameFor(abc => abc.ID)
@model
副次的な質問は次のとおりです。上部のステートメントは、以下の関数にどのように影響しますか?以前、クラスを介して表示名を理解するために式をmodel
参照することを考えていましたが、上記の変更後もページは機能します。@model