在asp.net中创建自定义物理动态页面路由

时间:2014-09-18 13:58:41

标签: webforms url-routing

我在asp.net中使用自定义路由

我创建了动态页面网址,如

1) www.xxxxxx.com/post/Home.aspx
2) www.xxxxxx.com/post/aboutus.aspx
3) www.xxxxxx.com/post/profile.aspx

1)URL~ / form / Home.aspx是物理存在的 但2)和3)URL服务器中不存在物理

所以我的问题是如何检查“路由器”物理存在和动态页面在URL

如果~/form/Home.aspx是实体存在,那么请使用此~/post/Home.aspx页面但不存在.aspx页面物理,然后使用~/post/common.aspx

 protected void Application_Start(object sender, EventArgs e)
        {
            System.Web.Routing.RouteTable.Routes.MapPageRoute("Route1", "post/{pagename}.aspx", "~/form/{pagename}.aspx");
            System.Web.Routing.RouteTable.Routes.MapPageRoute("Route2", "post/{pagename}.aspx", "~/form/common.aspx"); 
        }

Plz帮帮我

1 个答案:

答案 0 :(得分:1)

我认为您的路由错误。

        System.Web.Routing.RouteTable.Routes.MapPageRoute("Route1", "post/Home.aspx", "~/form/Home.aspx"); // <- the difference is here
        System.Web.Routing.RouteTable.Routes.MapPageRoute("Route2", "post/{pagename}.aspx", "~/form/common.aspx"); 

此路由表将导致Home.aspx直接转到〜/ form / Home.aspx,但所有其他请求将转到common.aspx。

Shimshon