У меня есть несколько классов моделей, унаследованных от общей базы (например, Class1
, Class2
наследуется от CommonClass
). Я хотел бы написать отдельное перегруженное действие контроллера, которое будет иметь каждый из этих классов моделей в качестве параметра. Например:Действие перегрузки с различными параметрами
[HttpPost]
public JsonResult MyAction(Class1 data)
{
// handle data here
}
[HttpPost]
public JsonResult MyAction(Class2 data)
{
// handle data here
}
Как это можно достичь? Когда я пытаюсь просто написать эти методы действий, MVC выбрасывает System.Reflection.AmbiguousMatchException
.
Я также попытался написать одно действие с базовым классом в качестве параметра, а затем передать данные конкретному классу, но это дает мне null
.
[HttpPost]
public JsonResult MyAction(CommonClass data)
{
if(data.IsSomething)
{
var castedData = data as Class1;
// process casted data
}
else
{
var castedData = data as Class2;
// process casted data
}
}