加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – .NET 4.5 MVC RouteCollection.LowercaseUrls在

发布时间:2020-12-16 00:32:19 所属栏目:asp.Net 来源:网络整理
导读:.NET Framework 4.5添加了一个新的RouteCollection属性: http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.lowercaseurls.aspx 这样做很棒,直到你添加一个区域到你的项目。所有的Urls都是正常的。 任何想法为什么会发生这种情
.NET Framework 4.5添加了一个新的RouteCollection属性:

http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.lowercaseurls.aspx

这样做很棒,直到你添加一个区域到你的项目。所有的Urls都是正常的。

任何想法为什么会发生这种情况?它很简单:

>创建新的MVC 4 Internet应用程序(.NET 4.5)
>启动RouteConfig.RegisterRoutes函数:routes.LowercaseUrls = true;
>运行项目,您将看到所有生成的Urls现在都是小写的。
>添加一个区域到项目。
>再次运行该项目,你会看到所有Urls都是正确的!

在AreaRegistration.RegisterArea中执行context.MapRoute的时候它会中断。当我发表评论时,我收到了小写的Urls。取消注释,并且正确的Urls回来了。

在我看来,像微软知道这是错误的,并没有宣传这个新功能,因为它是一个非常好的功能,但它只是在MSDN文档中提到。

解决方法

这似乎是ASP.NET MVC和ASP.NET 4.5在路由中的新的小写字符串功能之间的交互中的错误。

我已经记录了MVC的错误:http://aspnetwebstack.codeplex.com/workitem/685

感谢您报告!

正如克里斯蒂·普福(Cristi Pufu)所说,似乎其他人已经写了一些NuGet软件包来处理类似的情况:

> http://nuget.org/packages/LowercaseRoutesMVC – 增加了对小写URL的支持
> http://nuget.org/packages/AttributeRouting – 为大量整洁功能(包括小写URL)增加了超级花哨的支持(见https://github.com/mccalltd/AttributeRouting/wiki/Generating-Lowercase-Outbound-URLs)

编辑4/23/2013 – 我们最近接受了一个拉动请求,并解决了ASP.NET MVC 5的这个问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读