【问题标题】:Get any parameter from a Post Method in a Web Api controller从 Web Api 控制器中的 Post 方法获取任何参数
【发布时间】:2014-12-04 03:25:51
【问题描述】:

我有一个用 aspx 制作的旧页面,它获取每个 Request.Form.Keys 并使用表单对另一个页面进行 POST(就像“HTTP POST REDIRECT”)

现在这个系统必须迁移到 Web API (2.1) 并且我必须模仿它。

这个技巧是 aspx 获取任何/多个键和值,您可以将任何内容发布到 aspx。但是我无法在 web api 中使用我的 POST 方法得到相同的结果,因为它期望对象是原样的(我不知道也不在乎)

不知道这样能不能帮忙,但是老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());

【问题讨论】:

    标签: c# .net post asp.net-web-api asp.net-web-api2


    【解决方案1】:

    最后,我只是在我的方法中使用:

    HttpContext.Current.Request.Form
    

    获取所有 POST 键和值,而不是 Request.Form

    【讨论】:

      【解决方案2】:

      你可以重构你的代码,我想,使用这样的东西:

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

      【讨论】:

      • 谢谢!我使用了类似的过程
      猜你喜欢
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多