这是我的问题:
我们有一个带有一组受控用户的 Intranet asp.net mvc 3 应用程序。我们有一个 Person 类,它包含大量信息,最初加载并存储在会话中。该对象的数据/编辑跨越许多屏幕。基本上,每个屏幕都是 Person 数据的一个子集。
我正在尝试利用 asp.net mvc 中的内置模型绑定。我是否应该创建一个数据类来绑定来自每个屏幕的表单数据,然后使用服务对象更新我的会话对象?
下面的示例:DxFormData 包含人员数据的子集,并且仅用作此方法的参数。
public ActionResult Dx(DxFormData data)
{
// Update current session Person object with data passed in if modelstate is valid
var viewModel = this.GetDxViewModel();
return View(viewModel);
}
public class DxForm Data
{
public string AdmitDx { get; set; }
public string PrinDx { get; set; }
}
我正在寻找有关这种方法的想法,以及是否有更好的解决方案可供我使用。我看到的问题是 person 类包含所有数据,而我正在使用该数据的子集创建另一个类。显然,复制属性。
旁注:我确实编写了一个自定义模型绑定器,该绑定器返回会话人员进行绑定。但是,当它尝试绑定时,我不断收到错误。