最近用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"]
