Mer*_*ovi 13 asp.net-mvc asp.net-mvc-routing asp.net-mvc-4
我目前正在使用ASP.NET MVC 4路由LowercaseUrls选项设置为true,它工作得很好.我正在使用此配置:
routes.LowercaseUrls = true;
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Inicio",
action = "Index",
id = UrlParameter.Optional
});
Run Code Online (Sandbox Code Playgroud)
但是在一组特定的操作中,我有一个id加密且区分大小写的字符串参数.
然后,当我尝试生成这样的动作链接时:
@Html.ActionLink("My Text", "Action", "Controller", new { id = encryptedString })
Run Code Online (Sandbox Code Playgroud)
idURL中的参数将转换为小写,从而在尝试解密字符串时导致错误.
是否可以将路由配置为忽略URL参数的小写URL?
tec*_*osh 11
我以前碰到过这个.我最终做的是获得AttributeRouting.
它们具有PreserveCaseForUrlParameters的甜特性(上面链接).
另一种选择是使用LowercaseRoutesMVC.在这种情况下,您可以将某些路线设为小写,而您想要单独留下的路线则可以routes.MapRoute事先使用.但是,这可能会变得混乱,因为特殊配置的那些将是小写的,其中默认的整个路由不会.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3250 次 |
| 最近记录: |