我将以下表放在名为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)
哪个不编译。如何正确显示我的模型标题以及引用标题详细信息的链接?
答案 0 :(得分:35)
如果我理解你的问题,你需要一个与课程文本的链接。
这应该有效:
@Html.ActionLink(item.Course.Title, "Details", "Course")
如果您想将课程的ID传递给控制器(假设您的路由规则设置正确且ID类似于:item.Course.Id)
@Html.ActionLink(item.Course.Title, "Details", "Course", new { Id = item.Course.Id }, null /* html attributes */)
如果您需要在属性上使用UIHint属性,要添加额外的格式,您可以使用此
<a href="@Url.Action("Details", "Course", new { Id=item.Course.Id})">@Html.DisplayFor(modelItem => item.Course.Title)</a>
答案 1 :(得分:3)
您在)
后忘了Html.DisplayFor(modelItem => item.Course.Title
。
也许尝试添加.ToString()
可能有帮助。
答案 2 :(得分:0)
// you want to use link with the displaying a course. you can use.
<a href = "@url.action("Details","course",new {Id = item.Course.Id}
@html.displayfor(m => m.Course.Title)</a>
// second approach
@Html.ActionLink(item.Course.Title, "Details", "Course", new { Id = item.Course.Id })