我在名为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>