ASP.NET MVC:获取小写链接(而不是 Camel Case)
Posted
技术标签:
【中文标题】ASP.NET MVC:获取小写链接(而不是 Camel Case)【英文标题】:ASP.NET MVC: Get lowercase links (instead of Camel Case) 【发布时间】:2010-11-27 21:24:52 【问题描述】:我所有动态生成的操作链接等都在创建 /Account/Setup 之类的链接。看起来很奇怪。
我希望我的所有链接都是小写的(意思是 /account/setup)。有什么办法吗?
【问题讨论】:
【参考方案1】:.NET Framework 4.5 中有一个更简单的解决方案,一个新属性 RouteCollection.LowercaseUrls,这里是一个example
【讨论】:
【参考方案2】:看看http://goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/。您可以在 How can I have lowercase routes in ASP.NET MVC? 的另一个 *** 中找到更多信息。
到目前为止,其他帖子还没有解决您导航到 Web 目录根目录的情况。如果您有一个指向 HomeController Index 操作的映射,您希望显示以下 URL:
mysite/home/
甚至mysite/home/index
html 辅助函数的使用量不会改变这样一个事实,即默认情况下,浏览器位置栏中将显示以下内容:
mysite/Home
或 mysite/Home/Index
【讨论】:
【参考方案3】:为Html写一个扩展方法:
public static class MyHtmlExtensions
public static string LowerActionLink(this HtmlHelper htmlHelper,someargs)
return String.ToLowerInvariant(htmlHelper.ActionLink(someArgs));
然后使用 Html.LowerActionLink 代替 Html.ActionLink
【讨论】:
路由不区分大小写吗? 我觉得不行,否则我就麻烦大了。 啊...也许您可能想在路线的后面部分保留一些案例。建议在扩展方法中更明智地使用 ToLower 从头开始。除了最简单的情况外,我认为这样做并不是一个好主意,但我会保留它以防它满足 OP 的需求。以上是关于ASP.NET MVC:获取小写链接(而不是 Camel Case)的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC C# - 显示类属性名称而不是 JSON 中的属性名称
使用命令行如何在 ASP.NET 中首先从 DB 搭建脚手架 - 而不是 ASP.NET Core MVC?
为啥在 ASP.NET MVC 中使用 lambdas 而不是反射?
为啥 ASP.NET MVC HttpFileCollection 会返回字符串数组而不是 HttpPostedFile 集合?