簡體   English   中英

沒有通配符映射的asp.net路由(在Web表單中)

[英]asp.net routing (in webforms) without wildcard mapping

如果您無法為IIS(共享主機)打開通配符映射,或者無法打擾(懶惰)(如果路由以“已知” asp.net擴展名之一結尾),您仍然可以使用ASP.Net路由...所有帶有.ashx,.aspx等的路由?

克里斯·卡文納(Chris Cavenagh)的博客中 ,他的例子有:

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,但是他沒有包括任何路線數據……有更好的方法嗎? 只要這項工作可行,就好像是最好的主意,就好像移動了應用程序或可以打開通配符映射一樣,只需要更改路由...

是的,這有效。必須包含擴展名仍然很煩人……但是有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM