asp.net-mvc – 当绑定到ViewModel时如何更新模型?
我有一个[HttpPost]动作方法签名,如下所示:
[HttpPost] public ActionResult Edit(ExistingPostViewModel model) { // Save the edited Post. } 现在,在过去(当我没有使用ViewModels,例如R& D)的时候,我有一个这样的编辑方法的实现: [HttpPost] public ActionResult Edit(Post model) { var existingPost = repo.Find(model.Id); TryUpdateModel(existingPost); repo.Save(existingPost); return RedirectToAction("Success",existingPost.Id); } 哪个工作很棒 但我很困惑如何适应上述的ViewModel方法. 如果我这样做: TryUpdateModel(existingPost) 用我的ViewModel方法,没有太多的事情发生.没有错误,但没有任何更新,因为MVC将不知道如何从现有的PostViewModel(之前的Post – > Post)更新一篇文章. 现在,我使用的是AutoMapper.所以我以为我可以从ViewModel映射到帖子,然后保存帖子. 但是,我基本上都是压倒一切.我不想做,并且击败了ViewModel的切入点. 有谁可以不混淆我吗? 这似乎是一个非常常见的情况,而且我完全依赖于人们如何解决这个问题.我只能看到3种可能的解决方案: >不要在HTTP POST中使用ViewModel.正如我所说,过去,我对R& D做了这件事,它的工作原理,但现在我看到了我的View是如何发展(验证,简单)的,我不能为了这个问题而妥协. 有人请给我解决方案#4! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用Route Id值的ASP.NET MVC 3 Model Id
- 即使通过自定义服务器端验证仍然触发ASP.NET按钮单击事件也
- asp.net-mvc – ASP.NET MVC Razor – 所有表单字段都是必需
- asp.net-mvc – ASP.NET MVC:无法在我的控制器中获取字符串
- IIS是否记录请求标头信息?如果是的话,在哪里?
- 如何在asp.net按钮回发之前运行javascript函数
- asp.net – 拥有专用应用程序池,将Web应用程序保留在一个默
- asp.net – $(“#dialog”).parent().appendTo($(“form:f
- asp.net-mvc – 发布MVC应用程序VS2013时未包含字体文件
- ASP.NET MVC – IsAjaxRequest()实际上意味着什么?