代码之家  ›  专栏  ›  技术社区  ›  jason

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

  •  1
  • jason  · 技术社区  · 10 年前

    我在“组”控制器的“详细信息”视图中。我想了解该组下人员的详细信息。当我使用这个时:

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

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

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

    它不显示任何内容。如何编写正确的ActionLink以从Group的视图中查看人员的详细信息。谢谢

    2 回复  |  直到 10 年前
        1
  •  2
  •   haim770    10 年前

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

        2
  •  1
  •   Chirag Arvadia    10 年前

    试试这个

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