Asp.net web api WebAPI参数的JSON序列化

Asp.net web api WebAPI参数的JSON序列化,asp.net-web-api,jsonserializer,Asp.net Web Api,Jsonserializer,我正在调用传递JSON参数的Web API Post操作。 我的自定义模型如下所示: [Serializable] public class Model { public int? prop1 {get; set;} public bool prop2 {get; set;} } Web API是: public void Post(Model model) { if (model != null && model.prop1 ==5 ) { //

我正在调用传递JSON参数的Web API Post操作。 我的自定义模型如下所示:

[Serializable]
public class Model
{
    public int? prop1 {get; set;}
    public bool prop2 {get; set;} 
}
Web API是:

public void Post(Model model)
{
    if (model != null && model.prop1 ==5 )
{
 // Do something
}
}
我从客户端传递的JSON是:

var value = {
prop1: 4,
prop2: true
};
客户端的AJAX调用是:

.ajax('/api/MyController', {
type: "POST",
contentType: "application/json",
data: JSON.stringify(value),
success:function(data){
alert(Success);
}
});

但是,模型属性的绑定在WebAPI操作中永远不起作用。“model”参数被实例化(它不是null),但是里面的所有属性都是默认值,而不是我从客户机传递的值。如果我从模型类中删除[Serializable]属性,它就可以正常工作。我无法删除此属性,因为此对象存储在基于SQL的会话中。在不删除模型中的[Serializable]属性的情况下,我可以通过哪些方式使此绑定正常工作。不知道为什么,但当类被标记为可序列化时,它不起作用。

尝试复制我从未添加过的属性,它对我很好。