asp.net-mvc – ASP.net MVC支持带有连字符的URL
发布时间:2020-12-15 19:07:37 所属栏目:asp.Net 来源:网络整理
导读:有一个简单的方法可以让MvcRouteHandler将传入URL的动作和控制器部分中的所有连字符转换为下划线,因为方法或类名中不支持连字符。 这将是我可以支持这样的结构,如sample.com/test-page/edit-details映射到Action edit_details和controller test_pagecontro
有一个简单的方法可以让MvcRouteHandler将传入URL的动作和控制器部分中的所有连字符转换为下划线,因为方法或类名中不支持连字符。
这将是我可以支持这样的结构,如sample.com/test-page/edit-details映射到Action edit_details和controller test_pagecontroller,同时继续使用MapRoute方法。 我知道我可以指定一个动作名称属性和支持连字符在控制器名称,手动添加路由实现这,但我正在寻找一个自动化的方式,以便在添加新的控制器和操作时保存错误。 解决方法
C#版本的约翰的帖子任何人谁喜欢它:
C# and VB version on my blog
public class HyphenatedRouteHandler : MvcRouteHandler{ protected override IHttpHandler GetHttpHandler(RequestContext requestContext) { requestContext.RouteData.Values["controller"] = requestContext.RouteData.Values["controller"].ToString().Replace("-","_"); requestContext.RouteData.Values["action"] = requestContext.RouteData.Values["action"].ToString().Replace("-","_"); return base.GetHttpHandler(requestContext); } } …和新路线: routes.Add( new Route("{controller}/{action}/{id}",new RouteValueDictionary( new { controller = "Default",action = "Index",id = "" }),new HyphenatedRouteHandler()) ); 你可以使用下面的方法,但要记住,你需要命名视图My-Action,如果你喜欢让visual studio自动生成你的视图文件,这可能很讨厌。 [ActionName("My-Action")] public ActionResult MyAction() { return View(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在ASP.NEt MVC 3中传递Html.BeginForm()中D
- asp.net-mvc-3 – MVC3 / Razor添加控制器“Get-PrimaryKey
- asp.net – 它是老式的使用id的查询字符串吗?
- asp.net-mvc – Asp.net MVC路由模糊,同一页面有两条路径
- asp.net-mvc-2 – 如何让HandleErrorAttribute与Ajax一起工
- asp.net-mvc – ASP.NET MVC路由从html页面开始
- asp.net-mvc – ASP.NET MVC应用程序显示奇怪的字符
- asp.net – 在ASP MVC3中,如何使用uri执行控制器和动作?
- ASP.NET 预编译命令(解决发布后第一次访问慢问题)
- asp.net-mvc – 如何将模型加载到_Layout.cshtml并在各种视
推荐文章
站长推荐
- 对ASP.NET Web API的所有请求返回404错误
- asp.net – 我可以隐藏/显示asp:菜单项基于角色
- asp.net-web-api – 自定义身份验证asp.net核心w
- iis-7 – Rotativa PDF生成本地工作,但不在IIS 7
- asp.net-mvc – WebMatrix路由如何工作?
- asp.net-mvc – 来自父Razor布局的@Functions继承
- asp.net-mvc – TDD:在ASP.NET MVC 3中测试Data
- 在asp.net页面中的CSS粘贴页脚
- asp-classic – 如何在asp经典中使用YYYY-MM-DD日
- asp.net – “填充无效,不能删除”异常WebResour
热点阅读