【发布时间】:2015-04-17 01:11:30
【问题描述】:
我正在做this MVC 教程,我不明白@Html.DisplayNameFor 方法内的lambda 表达式中的输入参数。下图有
@Html.DisplayNameFor(model=> model.Title)
但即使我将其更改为
也能正常工作@Html.DisplayNameFor(something => something.Title)
所以我的问题是如何声明变量 model 或 something 以及如何填充这些值?我只看到它们只是作为 lambda 表达式的输入提供。
【问题讨论】:
-
它可以是你想要的任何东西——最常见的是
@Html.DisplayNameFor(m => m.Title)它只是说,对于我的模型,我将在这个方法中调用m,给我Title属性m -
@StephenMuecke,您是否参考了任何文档来解释其工作原理?如果它已经知道传递的任何东西都应该被视为模型对象,为什么我们需要一个 lambda 表达式而不仅仅是 'anything.Title'?
-
你也可以使用
@Html.Display("Title")传递一个字符串。我将首先查看此搜索的一些结果mvc lambda expressions tutorial -
一个 lambda 是一个函数。 => 左边的东西是函数的参数,右边的东西是函数的返回值。该函数被传递给
@Html.DisplayNameFor,然后以模型作为参数调用
标签: c# asp.net-mvc asp.net-mvc-4 lambda