MVC4如何知道变量的类型

时间:2013-10-31 23:18:36

标签: c# asp.net-mvc asp.net-mvc-4

在下面的代码中,MVC4如何知道变量“foo”的类型是IEnumerable

@model IEnumerable<Xrm.Contact>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

@foreach (var c in Model) { 
    <div>
<span> @Html.DisplayFor(foo => c.FirstName) </span>
<span> @Html.DisplayFor(foo => c.LastName) </span>
</div>
}

1 个答案:

答案 0 :(得分:4)

您当前的视图有一个属性Html,其类型为HtmlHelper<TModel>,其中TModel是您在@model指令顶部声明的任何类型文件。因此,当您使用Html调用DisplayFor扩展方法时,编译器可以推断您将在第二个参数中提供的表达式的类型。

因为当前模型是IEnumerable<Xrm.Contact>,所以它假设参数为。