У меня есть действие контроллера, которое получает сложный объект через 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
});