在Asp.Net Webform应用程序中使用路由

时间:2009-08-20 10:42:25

标签: asp.net webforms system.web.routing

我在Asp.Net Webform应用程序中使用System.Web.Routing。我在global.asax

中写了以下路线
routes.RouteExistingFiles = true; // I made true/false both, but none works

routes.Add("competition", new Route
            (
               "Test",
               new CustomRouteHandler("~/Test/WebForm1.aspx")
            ));

目录结构如下: -

  

应用

     

|

     

| ---测试(文件夹)

   |--- Webform1.aspx

当我在浏览器http://localhost:xxxx/Test/(使用Casini)中写入时,请求是以传统方式处理而不是通过路由处理,并且它为我提供了“目录列表 - / test /”页面。 / p>

你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我选择了实用的解决方案,即应该处理默认路径的文件名为Default.aspx

routes.Add("competition", new Route ( "Test", new CustomRouteHandler("~/Test/Default.aspx") ));

答案 1 :(得分:0)

你是否正在使用路由选择WebForms,我已经专门为“WebForms”实现了这个,因为有一些事情需要注意:

http://haacked.com/archive/2008/03/11/using-routing-with-webforms.aspx

HTH

<强>更新

使用链接中的实现仍会产生相同的错误,因为实际的文件夹存在。

我认为既然该文件夹存在,它就会被提供(在某些情况下可能需要列出文件夹内容)

也许采取不同的方法会更好,例如,如果页面都指向特定的外联网登录页面,可能会有一个额外的描述性文件夹,例如:/ Extranets / Test /?