【发布时间】:2013-10-05 18:45:23
【问题描述】:
我试过这样的
@Html.DisplayFor(modelItem => (item.Name + "@" + item.Department))
我得到“InvalidOperationException”(模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器表达式一起使用。)
两个成员都是字符串,我认为这应该可以工作......
谢谢
【问题讨论】:
标签: asp.net-mvc-4 razor
我试过这样的
@Html.DisplayFor(modelItem => (item.Name + "@" + item.Department))
我得到“InvalidOperationException”(模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器表达式一起使用。)
两个成员都是字符串,我认为这应该可以工作......
谢谢
【问题讨论】:
标签: asp.net-mvc-4 razor
错误是因为DisplayFor 接受Expression,它是Expression<Func<TModel,TReturn>> 而不是委托Func<TModel, TReturn>。所以你不能把它和随机的 C# 代码混在一起,因为它不是一个委托。
要得到你想要的,你可以使用这个(我知道奇怪的语法 - 因为你必须转义@):
@Html.DisplayFor(item => item.Name)@:@@@Html.DisplayFor(item => item.Department)
【讨论】:
【讨论】: