【发布时间】:2012-02-20 03:25:15
【问题描述】:
我知道如何使用 Html.ActionLink 在 MVCContrib Grid 列上显示链接,但我想做的是基于字段的值,如果该字段的值 = false,则显示文本,如果为真,然后显示一个链接。
它不会让我做这样的事情:
column.For(x => x.HasValue == false ?
x.Name : Html.ActionLink(x.Name, "MyMethod", "MyController")
"无法将 lambda 表达式转换为类型 'string' 因为它不是委托类型"
它允许我在两种情况下都使用 Html.Raw,但是当我运行应用程序时,我会收到相同的错误消息
提前致谢。
【问题讨论】:
-
x.Name是什么类型,上面的代码缺少右括号,这是问题的一部分吗? -
@PhilipFourie x.Name 是一个字符串。缺少括号不是问题的一部分,我只是忘了粘贴它。我得到了它的工作,使用这样的东西:
-
@PhilipFourie column.For(x => x.HasAttachment ? string.Format(@"{1}", ResolveUrl( "~/MyApp/MyController/MyMethod/")) : x.Name)
标签: asp.net-mvc asp.net-mvc-2 mvccontrib-grid