使ModelItem在视图中可点击,并带item发送到下一页.Id (MVC)
本文关键字:一页 Id MVC item 并带 视图 ModelItem | 更新日期: 2023-09-27 18:09:30
目前用户可以评论评论,所有与评论相关的评论都显示在评论下(如youtube)。您还可以看到创建评论的UserName
。
我现在要做的是使可见的UserName
可点击,并将您发送到另一个页面(与它的用户Id
),在那里您可以看到有关该用户的详细信息。我是新的MVC,我不知道如何做到这一点。
下面的代码是我拙劣的尝试,但是可以让您了解我的想法:
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Comment)
</th>
<th>
@Html.DisplayNameFor(model => model.User.UserName)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Comment)
</td>
<td>
@Html.DisplayFor(modelItem => @Html.ActionLink(item.User.UserName, "VisitUser", new { item.User.Id }))
</td>
</tr>
}
</table>
下面的代码是我显示用户的控制器代码:
public ActionResult VisitUser(Guid id) {
if (id == null) {
return Content("Something went wrong..");
}
User user = db.Users.Find(id);
if (user == null) {
return HttpNotFound();
}
return View(user);
}
VisitUSer
的视图看起来像上面的视图,但没有@Html.ActionLink..
的尝试。
RouteConfig:
public class RouteConfig {
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Comment)
</td>
<td>
@Html.ActionLink(item.User.UserName,
"VisitUser", "User", new { id = item.User.Id }, null))
</td>
</tr>
}
变化
@Html.DisplayFor(modelItem => @Html.ActionLink(item.User.UserName, "VisitUser", new { item.User.Id }))
@Html.ActionLink("Visit User", "VisitUser", "User", new {id = item.User.Id }, null)
你应该很好地显示