ASP.NET MVC 4使用jQuery传递对象至后台方法

首先创建一个razor页面全部使用html代码,如下:

<div class="mainform">
    <div class="list">
        <table class="user-info">
            <tr>
                <td>编号:</td>
                <td>
                    <input type="text" id="id" class="id" name="id" /></td>
                <td>
                    <label id="forID"></label>
                </td>
            </tr>
            <tr>
                <td>姓名:</td>
                <td>
                    <input type="text" id="name" class="name" name="name" />
                </td>
                <td>
                    <label id="forName"></label>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="button" id="submit" class="submit" value="确定" /></td>
            </tr>
        </table>
    </div>

js文件对输入的数据进行验证,并且提交到后台,如下:

$("#submit").click(function () {
        var valid = true;
        var name = $("#name").val();
        var id = $("#id").val();
        var validResult = new Object();
        validResult[0] = ValidateID(id);
        validResult[1] = ValidateName(name);
        var model = [];
        model.push({ id: id, name: name });
        for (var index in validResult) {
            if (validResult[index] == false) {
                valid = false;
                break;
            }
        }
        if (valid) {
            $.ajax({
                type: "post",
                dataType: 'json',
                url: "Home/Valid",
                async: true,
                data: JSON.stringify(model),
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    alert(data);
                },
                error: function () {
                    alert("error");
                }
            })
        }
    });

})
开始的时候能够调用后台的方法但是后台接受的对象为null,在加入 “contentType: 'application/json; charset=utf-8'”后成功将对象传递到了后台,
后台方法如下:
   public JsonResult Valid(List<User> model)
        {
            //using System.Collections;
            //Hashtable
            var user = model;
            return Json("OK");
        }

下面还有extjs向后台传递对象的方法

posted on 2014-01-04 16:27  ☆暀倳隨颩☆  阅读(533)  评论(0编辑  收藏  举报