asp.net-mvc-3 – @ Html.ActionLink和@ Html.DisplayFor同时(不对,但它描述了我想做什么)

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – @ Html.ActionLink和@ Html.DisplayFor同时(不对,但它描述了我想做什么)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在名为Student(/ Student / Details / 1)的控制器的视图中有下表:
@foreach (var item in Model.Enrollments)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Course.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Grade)
            </td>
        </tr>
    }

我想使每个表定义成一个链接,让我在一个名为Course(/ Course / Details / 1)的控制器中查看。

我尝试过的事情是:

@Html.ActionLink(Html.DisplayFor(modelItem => item.Course.Title,"Details","Course"))

代替

@Html.DisplayFor(modelItem => item.Course.Title)

哪个不编译我如何适当地显示我的模型的标题以及链接到引用标题的细节?

解决方法

如果我明白你的问题,你想要链接到课程的文本。

这应该工作:

@Html.ActionLink(item.Course.Title,"Course")

如果要将课程的ID传递给控制器​​(假设您的路由规则设置正确,并且Id类似于:item.Course.Id)

@Html.ActionLink(item.Course.Title,"Course",new { Id = item.Course.Id },null /* html attributes */)

如果您需要在属性上使用UIHint属性,可以添加额外的格式,您可以使用此属性

<a href="@Url.Action("Details",new { Id=item.Course.Id})">@Html.DisplayFor(modelItem => item.Course.Title)</a>
原文链接:https://www.f2er.com/aspnet/252395.html

猜你在找的asp.Net相关文章