如何从子文件夹link到首页?

How to link to Home page from sub folder?

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

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

我希望将以上内容 link 到根主控制器的视图。我现在得到的是 localhost/page2/home/ 而不是 localhost/.

知道如何使用正确的路径吗?

在这种情况下,您不需要使用 html 助手来生成 link。使用纯 html.

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

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

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。由于这是路由器必须使用的所有内容,它假定您想要的 actionName (Home) 与当前页面位于同一控制器中。

为了告诉路由器你想切换到另一个控制器,你还需要传递那个控制器的名字。

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

我假设当您传入 Home 时,您实际上想要从 Home 控制器到达 Index 操作。如果是这样,它看起来像这样:

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