繁体   English   中英

C#中的MVC5路由

[英]MVC5 routing in c#

我在配置路由时遇到问题。 我的routeconfig如下:

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}",
            defaults: new { controller = "Somepage", action = "Index", id = UrlParameter.Optional }
        );

现在,我有两个控制器Sompage和Somepage2,还有两个视图文件夹Somepage和Somepage2。 在我的layout.cshtml中,我具有指向Somepage和Somepage2的链接。 指向Somepage的链接可以正常工作,但是无法渲染到Somepage2的链接。 布局文件中的链接是

  @Html.ActionLink("some page on somepage2", "somepageonsomepage2", "Somepage2", new { target = "_blank" })

当我单击此链接时,当我想转到localhost / Somepage2 / somepageonsomepage2时,它会尝试将我带到localhost / Somepage / somepageonsomepage2

我不确定我要去哪里错。

您需要使用正确的ActionLink重载来指定控制器。 默认情况下,动作链接的控制器将是视图的控制器。 因此,如果您有控制器HomeController并在文件夹Home查看Index ,则操作链接的默认控制器将为HomeController

@Html.ActionLink("some page on somepage2", "somepageonsomepage2", "Somepage2", null, new { target = "_blank" })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM