【发布时间】:2013-06-21 20:30:29
【问题描述】:
我目前正在使用 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
});
但在一组特定的操作中,我有一个字符串id 参数,该参数已加密且区分大小写。
然后,当我尝试生成这样的操作链接时:
@Html.ActionLink("My Text", "Action", "Controller", new { id = encryptedString })
URL 中的id 参数被转换为小写字母,导致尝试解密字符串时出错。
是否可以配置路由到忽略 URL 参数的小写 URL?
【问题讨论】:
-
我不确定,但如果你使用查询字符串而不是路由参数,它应该不管它吗?
-
确实如此,但我更希望它不是查询字符串值。
-
您可以使用 IgnoreRoute 免责声明构建自己的路线我不知道这是否可行只是一个想法
标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing