У меня есть действие контроллера, которое получает сложный объект через JSON. Объект имеет свойство, объявленное как абстрактный тип. В настоящее время метод действия никогда не выполняется, потому что при десериализации объекта JSON он подавляется абстрактным типом.
Как настроить фазу десериализации, чтобы предоставить десериализатору правильные конкретные типы?
public class ComplexType
{
public AbstractClass AbstractObject { get; set; }
}
public abstract class AbstractClass
{
}
public class ConcreteClass1 : AbstractClass
{
}
public class ConcreteClass2 : AbstractClass
{
}
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult MyAction(ComplexType complexObject)
{
// code ...
return Json(myResult);
}
Вызывается с:
$.ajax({
url: myUrl,
data: JSON.stringify(instanceOfComplexType),
cache: false,
contentType: "application/json",
complete: function (data, textStatus) {
// handle response
},
dataType: "json",
type: "POST",
processData: false
});
MyAction
? - person Oleg   schedule 09.07.2010