【发布时间】:2010-11-27 21:24:52
【问题描述】:
我所有动态生成的操作链接等都在创建 /Account/Setup 之类的链接。看起来很奇怪。
我希望我的所有链接都是小写的(意思是 /account/setup)。有什么办法吗?
【问题讨论】:
标签: c# .net asp.net-mvc dynamic-links
我所有动态生成的操作链接等都在创建 /Account/Setup 之类的链接。看起来很奇怪。
我希望我的所有链接都是小写的(意思是 /account/setup)。有什么办法吗?
【问题讨论】:
标签: c# .net asp.net-mvc dynamic-links
.NET Framework 4.5 中有一个更简单的解决方案,一个新属性 RouteCollection.LowercaseUrls,这里是一个example
【讨论】:
看看http://goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/。您可以在 How can I have lowercase routes in ASP.NET MVC? 的另一个 stackoverflow 中找到更多信息。
到目前为止,其他帖子还没有解决您导航到 Web 目录根目录的情况。如果您有一个指向 HomeController Index 操作的映射,您希望显示以下 URL:
mysite/home/ 甚至mysite/home/index
Html 辅助函数的使用量不会改变这样一个事实,即默认情况下,浏览器位置栏中将显示以下内容:
mysite/Home 或 mysite/Home/Index
【讨论】:
为Html写一个扩展方法:
public static class MyHtmlExtensions
{
public static string LowerActionLink(this HtmlHelper htmlHelper,someargs)
{
return String.ToLowerInvariant(htmlHelper.ActionLink(someArgs));
}
}
然后使用 Html.LowerActionLink 代替 Html.ActionLink
【讨论】: