在我的 MVC 应用程序中,我定义了一个 ViewModel,例如:
public class TestModel : Test
{
public TestModel (Models.Test1 t1)
:base(t1)
{ }
public TestModel (Models.Test1 t1, Models.Test1 t2)
:base(t1,t2)
{ }
类测试定义为:
public class Test
{
public Test(Models.Test1 t1)
{
//set the properties for t1
}
public Test(Models.Test1 t1, Models.Test1 t2)
:this(t1)
{
//set properties for t2
}
}
// properties for t1 and t2
}
TestModel 在我的视图中用于显示来自 t1 和 t2 的组合字段。当我提交这样的表格时:
$('form').submit(function (evt) {
Save($(this).serialize(),
function () {
$('.loading').show();
},
function () {
alert('success');
});
});
$('a.save').click(function (evt) {
$(this).parents('form').submit();
});
- the controller action below is never hit.
[HttpPost]
public JsonResult Save(TestModel camp)
{
Helper.Save(camp);
return Json(JsonEnvelope.Success());
}
我认为序列化不起作用,因为 TestModel 派生自 Test。关于如何使它工作的任何建议?