Skip to main content
 首页 » 编程设计

c#之从 Web Api Controller 中的 Post 方法获取任何参数

2024年01月26日31txw1958

我有一个用 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()); 

请您参考如下方法:

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

HttpContext.Current.Request.Form 

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