从URL中删除所有子文件夹的默认页面名称

时间:2017-10-14 04:44:44

标签: c# asp.net routes friendly-url

我正在使用Microsoft的ASP.NET Friendly URLs进行一些简单的URL清理。

我正在处理的网站有很多子文件夹,每个子文件夹都有自己的Default.aspx。我希望在网址出现时随时删除Default.aspx部分。

示例:

//Original: www.mysite.com/Default.aspx
//Goal:     www.mysite.com/

//Original: www.mysite.com/Users/Default.aspx
//Goal:     www.mysite.com/Users/

默认情况下,库会删除扩展程序,并且我可以(大致)通过执行以下操作来实现我的目标:

RouteConfig.cs

routes.MapPageRoute("Root Default", "", "~/Default.aspx");
routes.MapPageRoute("Subfolder1 Default", "Subfolder1/", "~/Subfolder1/Default.aspx");
routes.MapPageRoute("Subfolder2 Default", "Subfolder2/", "~/Subfolder2/Default.aspx");
...
...
...
routes.MapPageRoute("Subfolder24 Default", "Subfolder24/", "~/Subfolder24/Default.aspx");
routes.MapPageRoute("Subfolder25 Default", "Subfolder25/", "~/Subfolder25/Default.aspx");

此方法的问题MapPageRoute的第三个参数是指向一个特定文件的路径,这意味着我必须为每个文件编写其中一个规则。每个子文件夹。我担心开发人员会在我之后添加一个子文件夹并且不知道如何在RouteConfig文件中添加记录。

问题:使用友情网址/ RouteConfig / RouteMapping,有没有办法有条件地删除所有文件夹的一个特定页面名称?

(我希望尽可能避免使用Web.Config重写,以保持所有重写的一致性。)

* Project是ASP.NET 4.5 Web窗体

0 个答案:

没有答案