code_junkie

Asp.Net MVC: How do I enable dashes in my urls?

Nov 10th, 2011
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. /MyController/MyAction
  2.  
  3. /My-Controller/My-Action
  4.  
  5. [ActionName("My-Action")]
  6. public ActionResult MyAction() {
  7. return View();
  8. }
  9.  
  10. public class HyphenatedRouteHandler : MvcRouteHandler{
  11. protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
  12. {
  13. requestContext.RouteData.Values["controller"] = requestContext.RouteData.Values["controller"].ToString().Replace("-", "_");
  14. requestContext.RouteData.Values["action"] = requestContext.RouteData.Values["action"].ToString().Replace("-", "_");
  15. return base.GetHttpHandler(requestContext);
  16. }
  17. }
  18.  
  19. routes.Add(
  20. new Route("{controller}/{action}/{id}",
  21. new RouteValueDictionary(
  22. new { controller = "Default", action = "Index", id = "" }),
  23. new HyphenatedRouteHandler())
  24. );
Add Comment
Please, Sign In to add comment