【发布时间】:2009-12-02 02:21:05
【问题描述】:
我知道第一条路线会捕获大部分路径。但是,这也会捕获 /Product/Edit/blablabla (我正在使用 ASP.NET 路由调试器):
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = @"\d{1,}" }
);
routes.MapRoute(
"Catch All",
"{*path}",
new { controller = "Error", action = "NotFound" }
);
}
但这是错误的!为什么?如果不是长度为 min 1 的整数,则第一条路由不应匹配。我还需要处理未找到的 coutroller 和操作...有什么想法吗?
非常感谢!
【问题讨论】:
-
@ 符号表示什么?它应该在引号内吗?
-
@符号告诉 C# 编译器忽略转义码。例如:@"\"或@"\""\"
标签: c# asp.net-mvc routes