如果您无法打开IIS(共享主机)的通配符映射或无法打扰(懒惰),如果您的路由以“已知”的asp.net扩展名之一结束,您仍然可以使用ASP.Net路由。 .like用.ashx,.aspx等结束所有路线?
来自Chris Cavenagh's blog,可以举例说明:
var routeHandler = new WebFormRouteHandler<Page>( "~/MyPage.aspx" );
routes.Add( new Route( "{page}", routeHandler ) );
routes.Add( new Route( "AccountServices/{page}", routeHandler ) );
routes.Add( new Route( "Default.aspx", routeHandler ) );
没有像这样的通配符映射:
var routeHandler = new WebFormRouteHandler<Page>( "~/MyPage.aspx" );
routes.Add( new Route( "{page}/view.ashx", routeHandler ) );
routes.Add( new Route( "AccountServices/{page}/view.aspx", routeHandler ) );
routes.Add( new Route( "Default.aspx", routeHandler ) );
我假设他的最后一条路线是Default.aspx,但是他没有包含任何路线数据......有更好的方法吗?如果这个工作,看起来最好的想法,好像移动应用程序或可以打开通配符映射,只需要更改路由......
答案 0 :(得分:0)
是的,这是有效的...仍然有点烦恼,必须包括一个扩展......但它的确有效。