3

我目前正在学习 asp.net mvc,我刚开始,我决定从 web 表单转移到 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 的情况下编写相同的代码。

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

4

2 回答 2

5

阅读本文:为什么要使用所有 Lambda?: 很好的文章解释了 Lambdas 的使用。

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

于 2013-01-07T10:48:21.067 回答
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>
于 2013-01-07T13:13:13.983 回答