【发布时间】:2012-04-23 06:56:22
【问题描述】:
我是 C# 和 MVC 的新手,在某些场合使用过 lambda,例如匿名方法和 LINQ。
通常我看到的 lambda 表达式看起来像这样:
(x => x.Name), (x => { Console.WriteLine(x))
我了解 lambda = "goes to"。我从未见过不使用 left 参数的 lambda 表达式。
我不知道如何翻译这个 lambda 表达式
@Html.DisplayFor(modelItem => item.FirstName)
谁能帮我解释一下这个?这不应该是
(modelItem => modelItem.FirstName)?
我是从 Microsoft 的 Introduction to ASP.NET MVC tutorial 那里得到的。
【问题讨论】:
-
你测试过那个实现了吗?它有效吗?以这种方式使用点符号会很好,我的印象是它只能通过索引访问。
-
是的,这是我在教程中看到的,并且我自己已经做了一段时间了。不过,我一直想知道,为什么不 modelItem => modelItem.FirstName... 也尝试过,但没有奏效。是的,使用点表示法会好得多。在某种程度上,这对我来说似乎是一个“黑客”。我希望将来可以使用点符号..
-
根据
GraemeMiller的链接,更合适的方式是@Html.DisplayFor( () => item.FirstName) -
是的,我同意。相反,它不会那么令人困惑。
标签: c# asp.net-mvc razor lambda html-helper