没有通配符映射的asp.net路由(在webforms中)

时间:2010-07-19 05:48:23

标签: asp.net webforms asp.net-routing

如果您无法打开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,但是他没有包含任何路线数据......有更好的方法吗?如果这个工作,看起来最好的想法,好像移动应用程序或可以打开通配符映射,只需要更改路由......

1 个答案:

答案 0 :(得分:0)

是的,这是有效的...仍然有点烦恼,必须包括一个扩展......但它的确有效。