This question already has answers here:
I want to understand the lambda expression in @Html.DisplayFor(modelItem => item.FirstName)

(4个答案)


3年前关闭。





这是Visual Studio通常在MVC类型的应用程序中生成的代码示例行:

@Html.DisplayFor(modelItem => item.LastName)



我了解剃须刀的工作原理(@
我了解HTML是具有静态帮助器功能的对象,例如DisplayFor()
我理解item.LastName,因为这松散地表示数据/模型中的行和列


...但是modelItem =>到底是什么?回到我的时代,=>曾经是被评估为布尔值的运算符。这是什么法术?

最佳答案

您在此处执行的操作是传递lambda表达式。这些与委托,C中的函数指针或Javascript中的函数基本相同。您基本上是在告诉Html DisplayFor“使用此功能获取显示项”。您的示例实际上应该是:

@Html.DisplayFor(modelItem => modelItem.LastName)


否则,您将尝试从外部范围关闭“项目”。如果这是您真正想做的事情,那么modelItem实际上什么也不做。

http://msdn.microsoft.com/en-us/library/bb397687.aspx

关于asp.net-mvc - 基本MVC:“modelItem =>”做什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10227870/

10-12 20:48