【问题标题】:@Html Displayfor throwing exception@Html Displayfor 抛出异常
【发布时间】:2013-10-05 18:45:23
【问题描述】:

我试过这样的

@Html.DisplayFor(modelItem => (item.Name + "@" + item.Department))

我得到“InvalidOperationException”(模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器表达式一起使用。)

两个成员都是字符串,我认为这应该可以工作......

谢谢

【问题讨论】:

标签: asp.net-mvc-4 razor


【解决方案1】:

错误是因为DisplayFor 接受Expression,它是Expression<Func<TModel,TReturn>> 而不是委托Func<TModel, TReturn>。所以你不能把它和随机的 C# 代码混在一起,因为它不是一个委托。

要得到你想要的,你可以使用这个(我知道奇怪的语法 - 因为你必须转义@):

@Html.DisplayFor(item => item.Name)@:@@@Html.DisplayFor(item => item.Department)

【讨论】:

  • 可能只是变量名问题。更新了答案。
【解决方案2】:

【讨论】:

  • 这些链接能解决问题吗?如果是这样,您能否将您认为他们解决问题的原因添加到您的答案中......?
猜你喜欢
  • 2013-05-24
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 2011-02-25
  • 2012-01-24
  • 1970-01-01
相关资源
最近更新 更多