我有一个视图,主管选择是否批准某些内容并输入评论。此视图不显示大多数字段。视图是强类型的。
我很好奇如何将整个对象返回给控制器。看起来它只是返回我在表单上的字段。
答案 0 :(得分:2)
将所有额外数据存储在页面上的隐藏输入字段中,或者将项目的ID存储在隐藏字段中,并在每次加载页面时从存储库加载对象(我的首选方法)。
编辑: 您还可以使用较少的参数创建另一个对象,并且仅将缩小的对象发送到视图,该视图将返回完全填充,然后可以映射回完整对象(更多MVVM方法)。
答案 1 :(得分:0)
以与放在视图中相同的方式将其放回原处。您不必发布已有的数据。
public ActionResult Get()
{
var viewModel = constructViewModel();
return View(viewModel);
}
public ActionResult Post(ViewModelChanges changes)
{
var viewModel = constructViewModel();
viewModel.SomeProperty = changes.SomeProperty;
return View(viewModel);
}