JSON.stringify如何自动映射到我的DTO

时间:2015-01-19 15:19:14

标签: c# jquery ajax json webmethod

我在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)。进入对象'模型中的适当属性。怎么知道这样做???

1 个答案:

答案 0 :(得分:0)

添加了评论的回答:

Model Binders是件好事。

我建议阅读找到的here源代码,这是针对MVC的,但我很确定它在webforms中也是一样的。

它非常智能并检查数据的请求,因此如果您使用webforms或mvc并不重要。您甚至可以创建我们的own