@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
</tr>
...
我发现过去对这个问题的答案存在矛盾的回应。据我所知,左参数modelItem是一个未使用的参数。但是这个问题的接受答案MVC HTML Helpers and Lambda Expressions表示左参数用于“描述”item.Title的值。它是使用还是未使用?
modelItem的预期类型是IEnumerable,item.Title是一个字符串。我只是看不出如何形容对方。然而,如果modelItem没有描述item.Title,那么首先使用lambda表达式树的目的是什么?
答案 0 :(得分:0)
modelItem的预期类型是IEnumerable,item.Title是一个字符串。
不正确的。您在强类型视图中使用的HtmlHelper
实例使用分配有@model
指令的模型。只需在for循环中使用Html.xxxFor
,就不会更改TModel
辅助方法调用中的xxxFor
泛型参数。
您会注意到辅助方法是HtmlHelper
类的扩展方法。因此,无论您决定将Html.xxxFor
方法的使用嵌套在...中,推断类型都将是封闭视图的类型。
答案 1 :(得分:0)
我正在阅读Julie Lerman的Programming Entity Framework DbContext
,它说第一个参数是名称,第二个参数是值。这样,在更复杂的查询中,您将返回名称,而不仅仅是使用值。