如何从子文件夹链接到主页?

时间:2018-02-08 03:47:24

标签: asp.net-core-2.0 razor-pages

我在views/page2/index.cshtml中有以下内容:

@Html.ActionLink("Continue...", "Home");

我希望以上链接到根家庭控制器的视图。我现在得到的是localhost/page2/home/而不是localhost/

任何想法如何使用正确的路径?

2 个答案:

答案 0 :(得分:2)

在这种情况下,您不需要使用html帮助程序来生成链接。使用纯HTML。

<a href="/">Home</a>

此链接将链接到您的Web应用程序的根目录。

答案 1 :(得分:2)

ActionLink的原型如下:

public Microsoft.AspNetCore.Html.IHtmlContent ActionLink (
  string linkText, 
  string actionName, 
  string controllerName, 
  string protocol, 
  string hostname, 
  string fragment, 
  object routeValues, 
  object htmlAttributes);

因此,当您致电@Html.ActionLink("Continue...", "Home");时,您正在传递linkTextactionName。由于这是路由器必须使用的全部内容,因此它假定您想要的actionNameHome)与当前页面位于同一个Controller中。

为了告诉路由器您要切换到另一个Controller,您还需要传入该控制器名称。

@Html.ActionLink("Link Text", "Action", "Controller");

我将假设当您在Home传递时,您实际上想要从Index控制器获取Home操作。如果是这样,这将是这样的:

@Html.ActionLink("Continue...", "Index", "Home");