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

Asp.net mvc 在另一个视图中使用Html.ActionLink,asp.net-mvc,razor,asp.net-mvc-5,Asp.net Mvc,Razor,Asp.net Mvc 5,我在“组”控制器的详细视图中。我想看看该组人员的详细信息。当我使用此选项时: @Html.ActionLink("Details of the Person", "Details", new { id = person.PersonID }) @Html.ActionLink("Details of the Person", "Details","Person", new { id = person.PersonID }) 它显示具有该名称的组的详细信息。当我使用此选项时: @Html.A

我在“组”控制器的详细视图中。我想看看该组人员的详细信息。当我使用此选项时:

@Html.ActionLink("Details of the Person", "Details", new { id = person.PersonID })
 @Html.ActionLink("Details of the Person", "Details","Person", new { id = person.PersonID })
它显示具有该名称的组的详细信息。当我使用此选项时:

@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);
然后:

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

请参见试试这个

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

在第二个代码段中,您需要为htmlAttributes-
@Html.ActionLink(“个人详细信息”,“详细信息”,“个人”,新的{id=Person.PersonID},null)