使用WebForms的ASP.Net路由

时间:2010-03-10 04:17:58

标签: asp.net webforms routing

我正在尝试切换现有的WebForms应用程序以使用路由,并希望分阶段完成。但是,我遇到了一些特定路线的问题:

//I want to catch existing calls to .aspx pages, but force them through  
// a route, so I can eventually drop the .aspx extension  
new Route("{page}.aspx", new MyCustomRoute());

这根本不起作用,因为对[SomePage] .aspx的调用永远不会绊倒这条路线......如果我改变路线看起来像这样:

//Same thing sans .aspx extension
new Route("{page}", new MyCustomRoute());

所有对[SomePage]的调用都被提起。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

好的,所以现在我觉得很蠢......

原来在RouteCollection类上有一个名为RouteExistingFiles的小属性,默认为false。显然,ASP.Net路由优先于现有文件,然后再将其转换为路由,因此任何对现有页面的调用显然都不会被我的路由处理。将此属性设置为true可以解决我的问题,尽管它可能具有我尚未意识到的意外副作用。