ASP中的路由净MVC
本文关键字:MVC 路由 ASP | 更新日期: 2023-09-27 17:49:43
我正在尝试路由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" });
}
对于这两个方法,我得到错误:
HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下网址,并确保拼写正确。
需要先指定自定义路由。默认路由没有约束,所以它可以匹配任何URL。当您向http://example.org/School发出请求时,ASPNET 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 }
);
}