我在jquery中有一个对象:
function SaveRequest() {
var request = BuildSaveRequest();
$.ajax({
type: "POST",
processData: false,
data: JSON.stringify({'model':request}),
url: "somepage.aspx/JsonSave",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(response, status, xhr) {
},
error: function (res, status, exception) {
}
});
return false;
}
function BuildSaveRequest() {
var request = {
customerName: $("#CustomerName").val(),
contactName: $("#ContactName").val(),
};
return request;
}
我有以下c#代码:
[WebMethod]
public static string JsonSave(MyModel model)
{
}
}
public class MyModel
{
public string CustomerName { get; set; }
public string ContactName { get; set; }
}
当ajax调用进行时,Web方法JsonSave会自动从jquery对象'请求'中放置值(CustomerName,& ContactName)。进入对象'模型中的适当属性。怎么知道这样做???
答案 0 :(得分:0)
添加了评论的回答:
Model Binders是件好事。
我建议阅读找到的here源代码,这是针对MVC的,但我很确定它在webforms中也是一样的。
它非常智能并检查数据的请求,因此如果您使用webforms或mvc并不重要。您甚至可以创建我们的own。