我正在研究MVC样本。我无法理解“@ Html.DisplayFor(modelItem =&gt; item.FirstName)”的语法。在下面的代码中,我理解modelItem是传递给视图的,它是IEnumerable <Runner>
的一个对象。我不明白“modelItem =&gt; item”是什么意思。顺序一句话,你如何将这个lambda翻译回正常的c#语法?感谢
@model IEnumerable<Runner>
<div id="Finishers">
<h4>Finishers</h4>
<ul id="finihers_female">
@foreach (var item in Model) {
<li>
@Html.DisplayFor(modelItem => item.FirstName)
@Html.DisplayFor(modelItem => item.LastName)
@Html.DisplayFor(modelItem => item.Gender)
@Html.DisplayFor(modelItem => item.FinishedTime)
</li>}
</ul>
答案 0 :(得分:4)
我的MSDN文档DisplayExtensions.DisplayFor Kris Ivanov列出的内容没有做任何回答这个问题。您需要阅读Lambda表达式。关于这个问题的SO thread可能有所帮助。大家可以添加他们最喜欢的Lambda教程的链接吗?
答案 1 :(得分:1)
它是Expression(Of Func(Of TModel, TValue))
,这里有一些信息DisplayExtensions.DisplayFor(Of TModel, TValue) Method (HtmlHelper(Of TModel), Expression(Of Func(Of TModel, TValue)))