如何用@ Html.ActionLink()包装@ Html.DisplayFor()

时间:2015-02-23 20:16:39

标签: asp.net-mvc-5

我只需要将列包装成超链接。这样用户就可以点击Number Column的项目并可以重定向。 这是我目前的观点: -

@foreach (var item in Model) {
    <tr>
        <th>
            @Html.ActionLink("Read", "Read", new { id = item.id})
        </th>
        <td>
           @Html.DisplayFor(modelItem => item.Number)
        </td>
    </tr>

尝试做这样的事情。我知道它不对,但需要知道正确的方法。我是MVC的新手

@Html.ActionLink(@Html.DisplayFor(modelItem => item.Number).ToString(), "Read", new { id = item.id })

2 个答案:

答案 0 :(得分:2)

你真的不能,但你可以只使用Url.Action代替:

<a href="@Url.Action("Read", new { id = item.id })">
    @Html.DisplayFor(modelItem => item.Number)
</a>

答案 1 :(得分:0)

我不知道是否有办法用ActionLink执行此操作(我怀疑没有,至少在任何方面我都不想在代码中支持。)但是你可以手动制作一个a代码,并通过using Url.Action() instead保持其动态网址:

<a href="@Url.Action("Read", new { id = item.id })">
    @Html.DisplayFor(modelItem => item.Number)
</a>