繁体   English   中英

ASP.NET MVC中的路由

[英]Routes in ASP.NET MVC

我正在尝试在MVC项目中路由链接。

我尝试了两种方法:

   public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

        //method1
       // routes.MapPageRoute("SchoolPage", "School", "~/home", false);

        //method2
        routes.MapRoute(name: "SchoolPage",url: "School", defaults: new { controller = "Home", action = "Index" });
    }

对于这两种方法,我都会收到错误:

HTTP404。您正在寻找的资源(或其依赖项之一)可能已被删除,名称更改或暂时不可用。 请查看以下网址,并确保其拼写正确。

您需要先指定自定义路由。 默认路由没有限制,因此它将与任何URL匹配。 当您通过http://example.org/School发出请求时,ASP.NET MVC将使用默认路由查找名为SchoolController的控制器。 您必须先将其与SchoolPage路由匹配,方法是将其放在默认路由之前。

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(name: "SchoolPage",url: "School", defaults: new { controller =     "Home", action = "Index" });

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

}

暂无
暂无

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

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