webapi 通过dynamic 接收可变参数

Posted 尘嚣之上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webapi 通过dynamic 接收可变参数相关的知识,希望对你有一定的参考价值。

 public class JsonParamModel
    {
        /// <summary>
        /// json key
        /// </summary>
        public string JsonKey { get; set; }

        /// <summary>
        /// json object
        /// </summary>
        public dynamic JsonObj { get; set; }
    }
  [HttpPost]
        public Result WebapiDynamic(JsonParamModel json)
 $.ajax({
                type: "POST",
                contentType: "application/json",
                dataType: "json",
                url: $("#url").val(),
                data: JSON.stringify({"JsonKey": "13", "JsonObj": { "Key1": "11", "Key2": "-10" } }),
                success: function (results) {
                    if (typeof results == "object") {
                        JSON.stringify(results);
                    }
                    else {
                        var resultObj = JSON.parse(results);
                    }
                   

                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(XMLHttpRequest.responseText);
                }
            });


总结:在实体或者直接在参数中采用dynamic可以动态的接收参数

但是ajax在调用的时候稍微有一点不同

data: JSON.stringify({"JsonKey": "13", "JsonObj": { "Key1": "11", "Key2": "-10" } }),

contentType: "application/json",

 

以上是关于webapi 通过dynamic 接收可变参数的主要内容,如果未能解决你的问题,请参考以下文章

Fromform

WebClient和HttpClient, 以及webapi上传图片

一些简单的Post方式WebApi接收参数和传递参数的方法及总结

可变参数和关键字参数

利用Fiddler修改请求信息通过Web API执行Dynamics 365操作(Action)实例

asp.net mvc webapi接收参数问题