Asp.net-Mvc
不影響參數的小寫 URL
我目前正在使用
LowercaseUrls選項設置為的 ASP.NET MVC 4 Routingtrue,它執行良好。我正在使用這個配置: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?
我以前遇到過這個。我最終做的是獲得AttributeRouting。
它們對PreserveCaseForUrlParameters有一個很好的功能(上面連結) 。
另一種選擇是使用LowercaseRoutesMVC。在這種情況下,您可以將某些路線設為小寫,而您想要單獨使用的路線可以
routes.MapRoute事先使用。但是,這可能會變得混亂,因為特殊配置的將是小寫的,而預設配置的整個路由不會是小寫的。希望這可以幫助!