我不知道ActionLink的,但目前看来,在这一段代码:
new { @title = item.ToolTip, item.Selected == 1 ? "class=selected" : "" }
您声明的anonimus类型,蒙山名为“@title”第一场,但.. .. 第二?!?在这里我们看到一个带有三元运算符的表达式,但是它的返回值没有分配给任何东西。 你有“item.Selected”前添加标识符和assignement操作:
new { @title = item.ToolTip, class = item.Selected == 1 ? "selected" : "" }
如果类的值=“”是无效的,你可以尝试可以把整个对象三元运算符,像这样:
item.Selected == 1 ? new { @title = ... } : new { @title = ..., class = "selected" }
但可能这是行不通的:三元运算符将无法确定结果类型(两个anonimous类型有不同的签名)。 唯一的另一种方法是先使用“var”类型首先实例化正确的anonimous对象,然后将其传递给metod。 在任何情况下,这里都没有lambda表达式。你应该用“annoimous types”而不是“lambda”来标记你的答案。
你实际上并不在你的代码有拉姆达的任何地方。你能否澄清你所看到的错误? – marcind 2011-02-08 17:51:20