[英]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.