asp.net Webforms MapPageRoute优先顺序

asp.net Webforms MapPageRoute优先顺序,asp.net,webforms,routes,Asp.net,Webforms,Routes,我正在尝试在Visual Studio 2010和中使用MapPageRoute功能 带有asp.NET webforms应用程序的.NET Framework 4.0 我注意到,如果我定义一个名为“Default”的页面路由,比如 项目中存在页面Default.aspx,则路由不存在 不工作 routes.MapPageRoute("Default", "default.aspx", "~/Page2.aspx"); routes.MapPageRoute("Test", "test.aspx

我正在尝试在Visual Studio 2010和中使用MapPageRoute功能 带有asp.NET webforms应用程序的.NET Framework 4.0

我注意到,如果我定义一个名为“Default”的页面路由,比如 项目中存在页面Default.aspx,则路由不存在 不工作

routes.MapPageRoute("Default", "default.aspx", "~/Page2.aspx");
routes.MapPageRoute("Test", "test.aspx", "~/Page2.aspx");
如果我将项目中Default.aspx的名称更改为Default_1.aspx, 那路线就行了

似乎存在某种优先顺序。有没有办法让你 我的路由定义首先求值,因此我不必将页面重命名为
使用路由引擎?

RouteCollection
上有一个名为
routeeExistingFiles
的属性,默认设置为false。这解释了如果您有Default.aspx页面,那么默认路由不起作用的原因


如果插入
routes.RouteExistingFiles=true在您的代码行之前,它将使路由优先。我不能100%确定如果它不能路由,它是否会返回文件-我想这取决于您设置的路由…

设置路由。RouteExistingFiles=true成功了。谢谢