ASP.NET MVC 3区分大小写的URL

时间:2012-03-01 14:34:45

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我在这里做的很糟糕。我问的是一个问题,而不是先尝试一下,有人知道一个简单的方法。

我们有可能使ASP.NET MVC路由系统区分大小写吗?我希望以下两个网址不同:

  

example.com/a

     

example.com/A

我们是否有一个简单的解决方案,或者应该为此编写我们自己的处理程序。

3 个答案:

答案 0 :(得分:5)

我还没有尝试过,但我认为如果你使用只匹配大写和小写单独的正则表达式路由约束,那就行了。我不认为这是一个好主意。

答案 1 :(得分:3)

这似乎是一个坏主意。你假设人们永远不会手工触摸网址,总是点击链接。

另外,默认情况下,MSSQL不区分大小写,假设您的某些路由值是数据库绑定的。

我也愿意打赌搜索引擎中的所有网址都是小写的(Edumacated guess)。

修改

所有谷歌付费搜索网址均为小写。

如果你仍然坚持这样做:

您可能还必须实现一个自定义视图引擎,以在区分大小写的基础上查找视图。也是一个自定义控制器工厂,用于查找区分大小写的控制器。

答案 2 :(得分:3)

另请注意,正则表达式之类的正则表达式选项可以通过以下内容在正则表达式中更改:

...(?-i:nonCaseSensitiveBit)backToCaseInsensitive...

请参阅正则表达式文档以获取完整的读数。