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

时间:2015-03-04 07:35:23

标签: asp.net-mvc razor asp.net-mvc-5

我在" 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以查看来自组视图的人员的详细信息。感谢。

2 个答案:

答案 0 :(得分:2)

您当前的代码正在调用此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

答案 1 :(得分:1)

试试这个

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