На контроллере у меня есть следующее
Index([FromUri] SearchDataModel Search)
который работает нормально. Но теперь я получаю такой URL:
https://mysite.com/?SearchName=Test&%3Bvalue1=value1&%3Bvalue2=value2&%3Bvalue3=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);
}
}