none
asp.net mvc2中,使用jquery的ajax传递强类型 RRS feed

  • 问题

  •    页面有个按钮,点击事件响应如下方法

    function save_onclick() {
                var Img = {
                    Jdcxh: "111",
                    Zplx: "1",
                    Zp: "11111"
                };
    
                $.ajax({
                    type: "POST",
                    url: "Insert",
                    data: Img,
                    dataType: "json",   
                    success: function (msg) {
                        alert(msg);
                    }
                }); 
    
            }

    提交到controller当中,controller方法如下:

    //类   
     public class ImageModel
        {
            public string Jdcxh { get; set; }
            public string Zplx { get; set; }
            public string Zp { get; set; }
        }
    
    //controller的action
    public ActionResult Insert(ImageModel img)
            {
    
                return Json(new { message = img.Zplx, code = "1" });
            }
    
    

    能正常提交,也能正常获取到强类型的值!!

    现在的问题是,根据需求,我希望将后台能获取多个ImageModel对象值,就将action改为如下

    public ActionResult Insert(List<ImageModel> list)
            {
                Json(new { message = "success", code = "1" });
            }
    
    

    前台传值的JSON,改为如下

    function save_onclick() {
                var Img = [{
                    Jdcxh: "111",
                    Zplx: "1",
                    Zp: "11111"
                }, {
                    Jdcxh: "222",
                    Zplx: "2",
                    Zp: "11111"
                }];
    
                $.ajax({
                    type: "POST",
                    url: "Insert",
                    data: Img,
                    dataType: "json",   
                    success: function (msg) {
                        alert(msg);
                    }
                }); 
    
            }

    能正常提交到action当中 ,但是list的值,一直为null,请教大家,asp.net mvc2应该怎么处理呢?是不是我的JSON字符串不对,还是框架没办法自己处理?

    2012年4月9日 3:43

答案

全部回复