我的页面接受HttpGet上的viewmodel。当我提交表单时,我的HttpPost修饰方法绑定到该模型,所有都是花花公子...我可以使用模型数据来保存。
我的问题是: 并非原始模型中的所有值都传递给帖子,而只传递给表单字段。
有没有办法将原始模型传递给post方法,只更新表单更新的属性?
我知道我可以使用隐藏字段来完成此任务,但是视图模型很复杂并且具有嵌套类,因此将它全部映射将是一件痛苦的事。我能以一种更简单的方式实现这一目标
感谢名单
答案 0 :(得分:1)
只有属于html Form
一部分的值才会重新绑定在帖子上。如果您需要原始模型中的所有值
答案 1 :(得分:1)
您可以使用JavascriptSerializer首先序列化VM,然后将其保存在隐藏字段中。然后,您可以通过反序列化字段再次创建ViewModel,然后在隐藏字段中应用字符串中的已发布值。
如果绑定到VM,则可以先将其反序列化为原始状态,然后使用控制器的TryUpdate方法用发布的值覆盖这些值。