我在views/page2/index.cshtml
中有以下内容:
@Html.ActionLink("Continue...", "Home");
我希望以上链接到根家庭控制器的视图。我现在得到的是localhost/page2/home/
而不是localhost/
。
任何想法如何使用正确的路径?
答案 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");
时,您正在传递linkText
和actionName
。由于这是路由器必须使用的全部内容,因此它假定您想要的actionName
(Home
)与当前页面位于同一个Controller中。
为了告诉路由器您要切换到另一个Controller,您还需要传入该控制器名称。
@Html.ActionLink("Link Text", "Action", "Controller");
我将假设当您在Home
传递时,您实际上想要从Index
控制器获取Home
操作。如果是这样,这将是这样的:
@Html.ActionLink("Continue...", "Index", "Home");