【问题标题】:MVC FromUri &%3BMVC FromUri &%3B
【发布时间】:2014-09-08 00:09:02
【问题描述】:
【问题讨论】:
标签:
c#
asp.net-mvc
url
datamodel
【解决方案1】:
情况不同,但可能有帮助...这是,如何接受控制器名称中的连字符...
路由:
var defaultRoute = routes.MapRoute(
"Default",
"{param}",
new { controller = "Home", action = "Index", param = UrlParameter.Optional }
);
defaultRoute.RouteHandler = new HyphenRouteHandler();
HyphenRouteHandler:
public class HyphenRouteHandler : MvcRouteHandler
{
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
{
//here you can probably do your urlencoding
requestContext.RouteData.Values["controller"] = requestContext.RouteData.Values["controller"].ToString().Replace("-", "_");
requestContext.RouteData.Values["action"] = requestContext.RouteData.Values["action"].ToString().Replace("-", "_");
return base.GetHttpHandler(requestContext);
}
}