代码改变世界

Asp.Net Mvc4 Webapi Request获取参数

2016-10-19 16:41  假面Wilson  阅读(7590)  评论(2编辑  收藏  举报

最近用mvc4中的WEBAPI,发现接收参数不是很方便,跟传统的request.querystring和request.form有很大区别,在网上搜了一大圈,各种方案都有,但不是太详细,于是跟踪Action中的变量,仔细查看,最后发现了解决方案,下面是代码:

public void Post([FromBody]string value)
         {
             HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
             HttpRequestBase request = context.Request;//定义传统request对象
             string name = request.Form["name"];
 
        }

WEBAPI中的Request是HttpRequestMessage类型,不能像Web传统那样有querystring和from 方法接收参数,而传统的HttpReqest的基类是HttpReqestBase

所以这里我们就直接使用(HttpContextBase)Request.Properties["MS_HttpContext"]