0

ASP.NET MVC 2 プロジェクトにこのようなモデルがあります。

public class HomeModel
    {
        public string Name { get; set; }

        public int HomeCount { get; set; }

        private List<string> _list;
        public List<string> List
        {
            get
            {
                if (_list == null)
                {
                    _list = new List<string>();
                }
                return _list;
            }
            set
            {
                _list = value;
            }
        }
        private List<ChildModel> _children;
        public List<ChildModel> Children
        {
            get
            {
                if (_children == null)
                {
                    _children = new List<ChildModel>();
                }
                return _children;
            }
            set
            {
                _children = value;
            }
        }
    }
    public class ChildModel
    {
        public string Address { get; set; }
    }

そしてスクリプトは

var obj = new Object();
            obj.Name = "MyName";
            obj.HomeCount = 56;

            obj.List = new Array();
            obj.List[0] = "AAA";
            obj.List[1] = "bbb";
            var child = new Object();
            child.Address = "ccc";
            obj.Children = new Array();
            obj.Children[0] = child;
            var child2 = new Object();
            child.Address = "ddd";
            obj.Children[1] = child2;

            jQuery.ajaxSettings.traditional = true
            $.post('/Home/Test',obj, function (data) { });

私の問題は、コントローラーのアクションで文字列リストが生成されても、オブジェクトリストのカウントが0であることです.誰でもこれを行う方法を教えてもらえますか?

4

1 に答える 1

0

オブジェクトを jQuery の ajax ペイロードとして送信すると、データのキーと値のペアに変換されます。たとえば、これが $.post ではなく $.get の場合、次のようになります。

?name=MyName&etc.

この記事では、探しているものが得られるはずです: http://www.intelligrape.com/blog/2010/06/11/jquery-send-json-object-with-an-ajax-request/

ここでは、json/object リテラル表記もお勧めします。

var obj = { Name: "MyName", HomeCount: 56, List:["AAA","bbb"], child:{ Address: "ccc", Children:[ //etc ] } }

仕様については json.org を、検証については jslint.com/jshint.com を参照してください。

于 2012-07-31T08:16:49.550 に答える