如何从子文件夹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");
时,您传递的是 linkText
和 actionName
。由于这是路由器必须使用的所有内容,它假定您想要的 actionName
(Home
) 与当前页面位于同一控制器中。
为了告诉路由器你想切换到另一个控制器,你还需要传递那个控制器的名字。
@Html.ActionLink("Link Text", "Action", "Controller");
我假设当您传入 Home
时,您实际上想要从 Home
控制器到达 Index
操作。如果是这样,它看起来像这样:
@Html.ActionLink("Continue...", "Index", "Home");
我在 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");
时,您传递的是 linkText
和 actionName
。由于这是路由器必须使用的所有内容,它假定您想要的 actionName
(Home
) 与当前页面位于同一控制器中。
为了告诉路由器你想切换到另一个控制器,你还需要传递那个控制器的名字。
@Html.ActionLink("Link Text", "Action", "Controller");
我假设当您传入 Home
时,您实际上想要从 Home
控制器到达 Index
操作。如果是这样,它看起来像这样:
@Html.ActionLink("Continue...", "Index", "Home");