如何使用asp.net webapi获取Json Post Values

前端之家收集整理的这篇文章主要介绍了如何使用asp.net webapi获取Json Post Values前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在请求一个asp.net webapi Post方法,我不能得到一个请求变量.

请求

@H_404_4@jQuery.ajax({ url: sURL,type: 'POST',data: {var1:"mytext"},async: false,dataType: 'json',contentType: 'application/x-www-form-urlencoded; charset=UTF-8' }) .done(function (data) { ... });

WEB API Fnx

@H_404_4@[AcceptVerbs("POST")] [ActionName("myActionName")] public void DoSomeStuff([FromBody]dynamic value) { //first way var x = value.var1; //Second way var y = Request("var1"); }

我无法以两种方式获得var1内容…(除非我为此创建一个类)

我该怎么办?

解决方法

第一种方式: @H_404_4@public void Post([FromBody]dynamic value) { var x = value.var1.Value; // JToken }

请注意,value.Property实际上返回一个JToken实例,以便获得您需要调用value.Property.Value的值.

第二种方式

@H_404_4@public async Task Post() { dynamic obj = await Request.Content.ReadAsAsync<JObject>(); var y = obj.var1; }

以上两项工作均使用Fiddler.如果第一个选项不适合您,请尝试将内容类型设置为application / json,以确保使用JsonMediaTypeFormatter反序列化内容.

猜你在找的asp.Net相关文章