MVC FromUri &%3B
本文关键字:amp%3B amp FromUri MVC | 更新日期: 2023-09-27 18:13:21
在控制器上,我有以下内容
Index([FromUri] SearchDataModel Search)
工作正常。但现在我得到了这样的URL:
https://mysite.com/?SearchName=Test& amp % 3 bvalue1 = value1& amp % 3 bvalue2 = value2& amp % 3 bvalue3 = value3
我需要支持这个URL,但由于amp%3B,我无法获得参数我试图在我的模型中使用HttpUtility.UrlDecode(value);
,但它不起作用…
有什么建议吗?
不一样的情况,但也许有帮助…这是如何接受控制器名称中的连字符…
路由:
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);
}
}