我试图寻找解决问题的方法,但我失败了......
我的 Asp.NET MVC 4 Web 应用程序中有一个这样的模型:
public class ModelBase
{
public string PropertyOne { get; set; }
public string PropertyTwo { get; set; }
}
public class InheritedModelOne : ModelBase
{
public string PropertyThree { get; set; }
}
public class InheritedModelTwo : ModelBase
{
public string PropertyFour { get; set; }
}
我的控制器中有两个动作:
public ActionResult ActionOne([ModelBinder(typeof(MyModelBinder))]ModelBase formData)
{
...
}
public ActionResult ActionTwo(InheritedModelTwo inheritedModelTwo)
{
...
}
我的问题是,当我在 ActionTwo 的 Action 参数中使用名称“inheritedModelTwo”时,属性 PropertyFour 是正确绑定的,但是当我在 ActionTwo 的 Action 参数中使用名称 formData 时,属性 PropertyOne 和 PropertyTwo 是正确绑定的,但是属性四。我想要做的是在发布表单时正确绑定我的 ActionTwo 方法的 InheritedModelTwo 参数的所有三个属性。
更多信息:
- 该帖子来自同一个 JQuery 请求。
- 在这两种情况下,来自 post 的数据是相同的。
- 这个问题的唯一区别是我的 ActionTwo 的参数名称。
- 在 ActionTwo 的参数中输入不同的名称只会绑定 ModelBase 属性。
- 对不起我的英语真的很糟糕。
谢了。