2013-11-14 22 views
8

Mam następujący pogląd: -Korzystanie Displayfor wewnątrz pętli For Each

@foreach(var info in Model.Firewall.FirewallCustomers.OrderBy(a=>a.CustomerName)){ 

<td>@Html.DisplayFor(info.CustomerVLAN.VLANID)</td> 
} 

ale jestem w stanie napisać następujący

@Html.DisplayFor(info.CustomerVLAN.VLANID)</td> 

będę pojawia się następujący błąd: -

The type arguments for method 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' cannot be inferred from the usage. Try specifying the type arguments explicitly

Czy ktoś może doradzić, jak korzystać z DisplayFor w mojej pętli foeach?

Dzięki

+0

Spróbuj zastąpić '' var'' typem '' info'' w '' foreach'' – acfrancis

Odpowiedz

15

DisplayFor wymaga wyrażenia. Spróbuj tego:

@foreach(var info in Model.Firewall.FirewallCustomers.OrderBy(a=>a.CustomerName)){ 
    <td>@Html.DisplayFor(model => info.CustomerVLAN.VLANID)</td> 
} 

Tutaj model jest parametrem wyrażenie lambda, a mimo to nie jest faktycznie wykorzystywany w wyrażeniu lambda, to składnia jest potrzebny do skonstruowania wypowiedzi.

Powiązane problemy