繁体   English   中英

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

[英]Asp.net mvc html.DisplayFor syntax in linq/lambda

我正在学习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的情况下编写相同的代码。

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

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

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

你可以写

    @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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM