在另一个视图中使用 Html.ActionLink

Using Html.ActionLink in another view

我在 "Group" 控制器的详细信息视图中。我想查看那个组下的人的详细信息。当我使用它时:

@Html.ActionLink("Details of the Person", "Details", new { id = person.PersonID })

它显示具有该名称的组的详细信息。当我使用它时:

 @Html.ActionLink("Details of the Person", "Details","Person", new { id = person.PersonID })

它什么都不显示。如何编写正确的 ActionLink 以从组的视图中查看人员的详细信息。谢谢

您当前的代码正在调用 ActionLink 方法的重载版本:

public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    object routeValues,
    object htmlAttributes);

我假设在你的第三个参数中你打算传递控制器名称,但你目前将它传递给 routeValues 参数。您可能需要这个重载版本:

public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    string controllerName,
    object routeValues,
    object htmlAttributes);

然后:

@Html.ActionLink("Details of the Person",
                 "Details",
                 "Person",
                 new { id = person.PersonID },
                 null)

此外,您声称控制器名称实际上是 Group,如果这是真的,您需要将第三个参数从 "Person" 更改为 "Group"

MSDN

试试这个

@Html.ActionLink("Details of the Person", "Details", "Person", new { id = person.PersonID }, null)