我正在学习asp.net mvc,我刚刚开始,我决定从网页表格转移到mvc。
我理解linq和lambdas的基础知识,但我想知道或得到关于这种特定语法的一个很好的解释。
@model IEnumerable<CodeplexMvcMusicStore.Models.Album>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Genre.Name)
</td>
我想知道modelItem => item.Genre.Name
我对此的了解是,modelItem
获取值item.Genre.Name
,然后传递方法Html.DisplayFor()
。
我也很好奇如何在不使用lambda的情况下编写相同的代码。
如果我错了,请纠正我,我只想知道代码的含义以及如何阅读。
答案 0 :(得分:5)
阅读本文: Why All The Lambdas? :解释Lambdas使用的好文章。
lambda表达式(Expression类型)允许视图作者使用强类型代码,同时为HTML帮助者提供完成工作所需的所有数据。
答案 1 :(得分:1)
你可以写
@model IEnumerable<CodeplexMvcMusicStore.Models.Album>
@foreach (var item in Model) {
<tr>
<td>
@Html.Raw(item.Genre.Name)
</td>
或者
@model IEnumerable<CodeplexMvcMusicStore.Models.Album>
@foreach (var item in Model) {
<tr>
<td>
@item.Genre.Name
</td>