MVC FromUri &amp%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);,但它不起作用…

有什么建议吗?

MVC FromUri &amp%3B

不一样的情况,但也许有帮助…这是如何接受控制器名称中的连字符…

路由:

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);
    }
}