我的任务是为客户创建面包屑功能。他们当前的网站设置为基于XML /文件。每个.aspx页面都是N级深度,控件连接到各自的.xml文件。
我决定通过pages目录结构实现面包屑。我抓住物理路径,剥离根,拆分目录,并使用这些部分作为我的面包屑。他们的所有文件夹都是在CamelCase中命名的,所以我使用驼峰套管来分解单词以便显示。
例如:网站可能看起来像
主页
- SubDir 1
------ SubDir 1.1
---------- MyPage.aspx
- SubDir 2
------ MySecondPage.aspx
如果您使用的是“MyPage.aspx”..您获得的面包屑是:
主页 - >子目录1 - > Sub Dir 1.1 - >我的页面
这是我遇到的问题。客户端还使用IIS7重写模块来强制执行小写URL。这个问题是我在Request.PhysicalPath调用中返回的值都是小写的,所以我的显示文本不起作用(因为它依赖于CamelCase)。如果我关闭IIS7强制执行,它会显示如上。如果没有,我会得到:
主页 - > subdir 1 - > subdir 1.1 - >我的空间
是否有通过IIS7重写模块强制执行小写URL而不会影响Request.PhysicalPath(或Request.PhysicalApplicationPath)调用?
由于