动作控制器是否可以接受文字对象。例如,我有几个视图,我想将各种模型发布到单个控制器,然后可以确定传入的模型对象以进行进一步处理。作为动作控制器的参数的对象?
型号样品:
public class Model1
{
// properties, etc.
}
public class Model2
{
// properties, etc.
}
public class Model3
{
// properties, etc.
}
控制器样品:
[HttpPost]
public ActionResult ProcessModel(Object anyModel)
{
// determine the model
if((anyModel as Model1) != null)
{
var model1 = anyModel as Model1;
// continue with code
}
else if((anyModel as Model2) != null)
{
var model2 = anyModel as Model2;
// continue with code
}
// continue with model check, etc.
}
我试过,但我的控制器不出现我的对象参数留空是捡模型。这可能吗?
我不认为你可以有多个具有相同名称的动作(不管参数)。 – zimdanen
参数必须是不同的类型。 http://csharpindepth.com/Articles/General/Overloading.aspx –
虽然只是重新阅读你的评论(可能是我睡觉的时间)@zimdanen - yep ...虽然你可以肯定有重载方式和Actions *应该*只是方法我从来没有真正做到这一点,所以不知道如果MVC或模型绑定将barf –