在ASP.NET MVC 中,一个简单的例子让 URL 请求的 controller 和 action 小写
2011-04-07 16:18
585 查看
说明:这种方法不是最佳方法,因为当请求以大写方式请求的时候,比如:http://localhost:2458/Home/About ,经过服务器的判断,如果是大写,则 Response.StutasCode = 301 ,即永久性重定向到 http://localhost:2458/home/about,这样就不太好了。要么在 @Html.ActionLink 的时候就生成小写,这样就好一点,园子里也有类似的文章,比如鹤冲天的
代码如下:
最后我的建议是:创建 controller 和 action 的时候就命名为小写,管它什么 C# 命名规范。比如创建 HomeController 是,这样 homeController ,呵呵。
最后,我强烈建议用 Nuget 获取 LowercaseRoutesMVC.dll 来小写所有的请求!
注意:只是方法名不同,参数的类型与顺序都是一样的!
谢谢浏览!
ASP.NET MVC:自定义 Route 以生成小写的 Url
写得很不错。代码如下:
protected void Application_BeginRequest(object sender, EventArgs e) { EnforceLowercaseUrl(); } private void EnforceLowercaseUrl() { var path = Request.Url.AbsolutePath; var verbIsGet = string.Equals(Request.HttpMethod, "GET", StringComparison.CurrentCultureIgnoreCase); if (!verbIsGet || !path.Any(c => char.IsUpper(c))) { //当不是 GET 请求或者 URL都是小写的时候,Return 掉 return; } string newUrl = path.ToLowerInvariant() + Request.Url.Query; Response.RedirectPermanent(newUrl); }
最后我的建议是:创建 controller 和 action 的时候就命名为小写,管它什么 C# 命名规范。比如创建 HomeController 是,这样 homeController ,呵呵。
最后,我强烈建议用 Nuget 获取 LowercaseRoutesMVC.dll 来小写所有的请求!
routes.MapRouteLowercase( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值 );
注意:只是方法名不同,参数的类型与顺序都是一样的!
谢谢浏览!
相关文章推荐
- 在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- asp.net mvc 如何将controller 里一个action 返回值为list<>的值输出到view
- 在ASP.NET MVC 中获取当前URL、controller、action
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- Asp.Net_Mvc_获取当前Url、Controller、Action
- 在ASP.NET MVC 中获取当前URL、controller、action
- 如何在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- asp.net MVC中获取当前URL/Controller/Action
- 在ASP.NET MVC的Controller Action中获取客户端请求数据
- 在ASP.NET MVC 中获取当前URL、controller、action
- 在ASP.NET MVC 中获取当前URL、controller、action
- 一个简单的 ASP.NET MVC 例子演示如何在 Knockout JS 的配合下,使用 TypeScript 。
- 004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action