C# 自定义路由不匹配
在routeConfig中,我有代码:C# 自定义路由不匹配,c#,.net,asp.net-mvc-4,C#,.net,Asp.net Mvc 4,在routeConfig中,我有代码: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{a
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Contact", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Custom",
url: "Secret/Routes/1",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
}
我已将自定义路线创建为:
routes.MapRoute(
name: "Custom",
url: "Secret/Routes/1",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
但当我给出直接链接时:
http://localhost:4618/Secret/Routes/1
它不会呈现给帐户控制器的登录操作
请帮帮我。我在路线上哪里出错了
要在以下情况下呈现给帐户控制器登录操作:
URL是
当路由处理URL请求时,它会尝试将请求的URL与路由匹配。将URL请求与路由匹配取决于以下所有条件:
- 已定义的布线模式或默认布线 项目类型中包含的模式(如果有)
- 将它们添加到Routes集合的顺序
- 为管线提供的任何默认值
- 为管线提供的任何约束
- 是否已定义路由以处理与 物理文件
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Custom",
url: "Secret/Routes/1",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Contact", id = UrlParameter.Optional }
);
}
将您的自定义路线置于默认路线之前(一条或多条路线很重要)路线按顺序运行(注册)。将使用匹配的第一条路由。“/Secret/Routes/1”与您的默认路由匹配(如“controller=Secret,action=Routes,id=1)。谢谢你们两位..不知道路由正常工作。解决了我的问题…谢谢
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Custom",
url: "Secret/Routes/1",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Contact", id = UrlParameter.Optional }
);
}