无法将lambda表达式转换为类型'string',因为它不是委托类型

时间:2015-03-19 04:52:52

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor

我刚看到有一个类似的帖子与我的标题相同。但是,情况不同。

我的观点中包含以下代码:

@foreach (var item in Model) {
<tr>
    <td>            
        @Html.ActionLink(modelItem => item.TrackingNumber.ToString(), "Details")
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Title)
    </td>
    . . .

当我运行我的视图时,我会收到标题所说的错误。我想要实现的是呈现从数据库中获取的数据并将其作为链接。

有什么线索我怎么能这样做?我应该使用ActionLink的不同html助手吗?

问候!

1 个答案:

答案 0 :(得分:3)

您正在使用

 @Html.ActionLink() 

首先看一下这个HTML帮助器的定义。它接受字符串作为第一个参数而不是lamba表达式。它不是强类型的。

使用此

 @Html.ActionLink(item.TrackingNumber.ToString(), "Details")