我有一個通過JSON接收復雜對象的控制器操作。該對象具有一個聲明爲抽象類型的屬性。目前,action方法從來不會被執行,因爲當JSON對象被反序列化時,它會抽象出抽象類型。我如何定製ASP.NET MVC中的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? – Oleg 2010-07-09 09:17:48
已在上面添加它。 – GiddyUpHorsey 2010-07-16 00:35:04