当请求包含表单变量的平面集合时,我很难让自定义模型绑定器工作。
我有一个包含嵌套 ViewModel 的 ViewModel 类,例如
public class ViewModel1
{
public long Id { get; set; }
public ViewModel2 NestedType { get; set; }
}
public class ViewModel2
{
public string Name { get; set; }
public string Surname { get; set; }
}
我的问题是,如果我使用 Fiddler 提交带有 NestedType.Name 表单变量的请求,那么我的自定义模型绑定器执行得很好,但是,我必须处理的请求是我无法控制的,在这种情况下,它是通过来自 JQGrid 实例的 ajax 请求发布的,并且是“扁平的”,即
Id=5
Name=firstname
Surname=surname
不是
Id=5
NestedType.Name=firstname
NestedType.Surname=surname
有什么办法可以让它工作吗?
提前致谢。
编辑:
为了澄清一点,我的控制器操作如下所示:
public ActionResult GridEditRow(ViewModel1 viewModel)
如下所述,我宁愿在执行控制器代码之前触发自定义绑定器,而不是调用 TryUpdateModel()。