asp.net Webforms MapPageRoute优先顺序

时间:2010-06-04 21:55:05

标签: 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", "~/Page2.aspx");

如果我将项目中Default.aspx的名称更改为Default_1.aspx, 然后路线工作正常。

似乎有一些优先顺序正在进行中。有没有办法 首先评估我的路由定义,这样我就不必将页面重命名为 使用路由引擎?

1 个答案:

答案 0 :(得分:3)

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

如果在代码行之前插入routes.RouteExistingFiles = true;,则会使路由优先。我不是100%肯定如果它无法路由它是否会回归文件 - 我想这取决于你设置的路线......