ASP.Net MVC模型绑定[Serializable]类

时间:2015-02-17 07:50:02

标签: c# asp.net-mvc asp.net-web-api model-binding

我有这个班级

[Serializable]
public class MyObject {
    // properties omitted
}

这个WebAPI控制器方法:

[HttpPost]
[ResponseType(typeof(string))]
public IHttpActionResult SetMyObject(MyObject o) {
    // process object
}

但它无法将绑定建模到MyObject类。控制器方法中的对象o完全为空,每个属性都是默认属性(因此大部分为空)。

原来这是因为MyObject上的[Serializable]注释。删除它会使模型绑定再次起作用。

有没有办法保留[Serializable]并修复模型绑定?

1 个答案:

答案 0 :(得分:4)

答案在解析器

IgnoreSerializableAttribute设置中
((DefaultContractResolver)config.Formatters.JsonFormatter
  .SerializerSettings.ContractResolver)
    .IgnoreSerializableAttribute = true;

检查:

ASP.NET Web API and [Serializable] class