Получить любой параметр из метода Post в контроллере Web Api

1

У меня есть старая страница, сделанная в aspx, которая получает каждый Request.Form.Keys и делает POST с использованием формы на другой странице (это похоже на "HTTP POST REDIRECT")

Теперь эта система должна быть перенесена в Web API (2.1), и я должен подражать ей.

Трюк с этим заключается в том, что aspx получает любые/несколько ключей и значений, вы можете отправлять что-либо в aspx. Но я не могу получить тот же результат с моим методом POST в web api, потому что он ожидает, что объект как есть (и я этого не знаю, и мне все равно)

Я не знаю, поможет ли это, но код старой aspx похож на этот:

        sb.Append("<html>");
        sb.AppendFormat("<body onload='document.forms[0].submit()'>Loading...");
        sb.AppendFormat("<form action='{0}' method='post'>",
            the-next-url);
        foreach (string key in Request.Form.Keys)
        {
            sb.AppendFormat("<input type='hidden' name='{0}' value='{1}'>", key, Request.Form[key]);
        }
        sb.Append("</form>");
        sb.Append("</body>");
        sb.Append("</html>");

        Response.Write(sb.ToString());
Теги:
post
asp.net-web-api
asp.net-web-api2

2 ответа

1
Лучший ответ

Вы могли бы реорганизовать свой код, я полагаю, использовать что-то вроде этого:

        if (HttpContext.Current.Request.Form.Count > 0)
        {
            sb.Append("<html>");
            sb.AppendFormat("<body onload='document.forms[0].submit()'>Loading...");
            sb.AppendFormat("<form action='{0}' method='post'>",your_url);
            foreach (string key in HttpContext.Current.Request.Form.AllKeys)
            {
                sb.AppendFormat("<input type='hidden' name='{0}' value='{1}'>", key,
                    HttpContext.Current.Request.Form[key]);
            }
            sb.Append("</form>");
            sb.Append("</body>");
            sb.Append("</html>");



        }
  • 0
    Спасибо! Я использовал процесс, аналогичный
4

Наконец, я просто использую внутри своего метода:

HttpContext.Current.Request.Form

получить все ключи и значения POST вместо Request.Form

Ещё вопросы

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