来园很长时间,不擅长交际的我,一直没有装饰家园,最近用mvc4中的WEBAPI,发现接收参数不是很方便,跟传统的request.querystring和request.form有很大区别,在网上搜了一大圈,各种方案都有,但不是太详细,于是跟踪Action中的变量,仔细查看,最后发现了解决方案,下面是代码:
1 public void Post([FromBody]string value) 2 { 3 HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context 4 HttpRequestBase request = context.Request;//定义传统request对象 5 string name = request.Form["name"]; 6 7 }
WEBAPI中的Request是HttpRequestMessage类型,不能像Web传统那样有querystring和from 方法接收参数,而传统的HttpReqest的基类是HttpReqestBase
所以这里我们就直接使用(HttpContextBase)Request.Properties["MS_HttpContext"]