我试图在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, 然后路线工作正常。
似乎有一些优先顺序正在进行中。有没有办法 首先评估我的路由定义,这样我就不必将页面重命名为 使用路由引擎?
答案 0 :(得分:3)
RouteCollection
上有一个名为RouteExistingFiles
的属性,默认设置为false。这解释了如果您有default.aspx页面,默认路由不起作用的原因。
如果在代码行之前插入routes.RouteExistingFiles = true;
,则会使路由优先。我不是100%肯定如果它无法路由它是否会回归文件 - 我想这取决于你设置的路线......