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向后台传递对象的方法
浙公网安备 33010602011771号