【问题标题】:Asp.net mvc html.DisplayFor syntax in linq/lambdalinq/lambda 中的 Asp.net mvc html.DisplayFor 语法
【发布时间】:2013-01-07 10:39:44
【问题描述】:

我目前正在学习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 =&gt; item.Genre.Name是什么意思

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

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

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

【问题讨论】:

标签: c# asp.net asp.net-mvc razor


【解决方案1】:

阅读:Why All The Lambdas?:解释 Lambda 使用的好文章。

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

【讨论】:

    【解决方案2】:

    你可以写

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多