asp.net mvc 绑定客户端post过来的复杂JSON数据

Posted 屌丝大叔的笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net mvc 绑定客户端post过来的复杂JSON数据相关的知识,希望对你有一定的参考价值。

客户端代码如下:

<input type="button" id="btnTest" value="测试" /><br /><br />
<textarea id="txtArea" rows="5" cols="200"></textarea>

<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#btnTest").click(function () {
            var users = new Array();
            var user = { UserName: "subendong", Password: "123456" };
            users.push(user);
            user = { UserName: "bendongsu", Password: "654321" };
            users.push(user);
            var userData = {Users : users, Address: "苏州市"};

            $.ajax({
                type: post,
                url: "@Url.Action("Test")",
                data: JSON.stringify(userData),
                dataType: "json",
                contentType: application/json,
                success: function (data) {
                    $("#txtArea").val(JSON.stringify(data));
                }
            });
        });
    });
</script>

红色部分是关键

后端代码如下:

        public ActionResult Test(UserData userData)
        {
            return Json(userData);
        }

UserData类型:

    public class UserData
    {
        public List<User> Users { get; set; }
        public string Address { get; set; }
    }

    public class User
    {
        public string UserName { get; set; }
        public string Password { get; set; }
    }

 

参考网址:

http://stackoverflow.com/questions/23069172/posting-json-array-of-object-to-controller-in-asp-net-mvc

http://stackoverflow.com/questions/2203912/asp-net-mvc-ajax-json-post-array

以上是关于asp.net mvc 绑定客户端post过来的复杂JSON数据的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC Controller接收ajax post方式发送过来的json对象或数组数据

在ASP.NET MVC的Action中直接接受客户端发送过来的HTML内容片段

Asp.net Mvc post表单提交多个实体模型

在后端 ASP.NET MVC (MEF) 上发布/绑定多个表单

在 ASP.NET MVC Core 2 中使用 MetadataPropertyHandling 模型绑定 JSON 数据

将多个参数从 ajax post 传递到 asp.net mvc 控制器