linq/lambda中的Asp.net mvc html.DisplayFor语法

Ran*_*rez 3 c# asp.net asp.net-mvc razor

我正在学习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>
Run Code Online (Sandbox Code Playgroud)

我想知道是什么意思 modelItem => item.Genre.Name

我对此的了解是modelItem获取值 item.Genre.Name然后传递方法Html.DisplayFor().

我也很好奇如何在不使用lambda的情况下编写相同的代码.

纠正我,如果我错了,我只想知道代码的含义以及如何阅读.

Kap*_*wal 5

阅读本文:为什么所有的Lambdas?:解释Lambdas使用的好文章.

lambda表达式(Expression类型)允许视图作者使用强类型代码,同时为HTML帮助程序提供完成工作所需的所有数据.