ASP.Net MVC 模型绑定一个 [Serializable] class
ASP.Net MVC Model binding a [Serializable] class
我有这个class
[Serializable]
public class MyObject {
// properties omitted
}
以及这个 WebAPI 控制器方法:
[HttpPost]
[ResponseType(typeof(string))]
public IHttpActionResult SetMyObject(MyObject o) {
// process object
}
但是它无法对 MyObject 进行建模绑定 class。控制器方法中的对象 o 完全是空的,每个 属性 都是默认的(所以大部分是 null)。
原来这是因为 MyObject 上的 [Serializable] 注释。删除使模型绑定再次工作。
有没有办法保持 [Serializable] 并修复模型绑定?
答案在 Resolver
的设置 IgnoreSerializableAttribute
中
((DefaultContractResolver)config.Formatters.JsonFormatter
.SerializerSettings.ContractResolver)
.IgnoreSerializableAttribute = true;
检查:
ASP.NET Web API and [Serializable] class
我有这个class
[Serializable]
public class MyObject {
// properties omitted
}
以及这个 WebAPI 控制器方法:
[HttpPost]
[ResponseType(typeof(string))]
public IHttpActionResult SetMyObject(MyObject o) {
// process object
}
但是它无法对 MyObject 进行建模绑定 class。控制器方法中的对象 o 完全是空的,每个 属性 都是默认的(所以大部分是 null)。
原来这是因为 MyObject 上的 [Serializable] 注释。删除使模型绑定再次工作。
有没有办法保持 [Serializable] 并修复模型绑定?
答案在 Resolver
的设置IgnoreSerializableAttribute
中
((DefaultContractResolver)config.Formatters.JsonFormatter
.SerializerSettings.ContractResolver)
.IgnoreSerializableAttribute = true;
检查:
ASP.NET Web API and [Serializable] class