【问题标题】:Using DisplayFor inside a for each loop在每个循环中使用 DisplayFor
【发布时间】:2013-11-14 23:58:41
【问题描述】:

我有以下看法:-

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

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

但我无法写出以下内容

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

我会得到以下错误:-

方法的类型参数 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' 不能从用法中推断出来。尝试指定类型参数 明确的

那么任何人都可以建议,如何在我的 foeach 循环中使用 DisplayFor ?

谢谢

【问题讨论】:

  • 尝试在foreach中将var替换为info的类型

标签: c# asp.net-mvc linq html-helper


【解决方案1】:

DisplayFor 需要一个表达式。试试这个:

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

这里,model 是一个 lambda 表达式参数,即使它实际上并没有在 lambda 表达式中使用,也需要这种语法来构造表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 2013-11-25
    • 2015-10-06
    • 1970-01-01
    • 2014-08-02
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多