MVC FromUri & amp; 3B

1

На контроллере у меня есть следующее

Index([FromUri] SearchDataModel Search)

который работает нормально. Но теперь я получаю такой URL:

https://mysite.com/?SearchName=Test&amp%3Bvalue1=value1&amp%3Bvalue2=value2&amp%3Bvalue3=value3

Мне нужно поддерживать этот URL, но я не могу получить параметры из-за amp% 3B Я пытался использовать HttpUtility.UrlDecode(value); в моей модели, но это не сработало...

Любой совет, пожалуйста?

Теги:
asp.net-mvc
url
datamodel

1 ответ

0

не такая же ситуация, но, возможно, помогает... это, как принимать дефисы в имени контроллера...

маршрутизации:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню