使用MVC5 web应用程序。可能放弃MVC操作并保持视图相同(不重写视图的GET“加载代码”)?
我有一个基于复杂的视图模型视图。在主要的GET方法中,我填充了这个视图模型,设置了某些ViewBag项目等......我现在将其称为“加载代码”。
所以,我的观点基本上是一个数据输入形式。业务规则相当复杂。当用户点击保存按钮时,我会执行POST并运行一些检查规则等的c#代码。如果失败,我只想“中止”操作并向用户显示相同的GET视图。
我的问题涉及到的一切事,最初加载视图:该ViewBag代码视图模型的填充,等....我一定要在我的文章写一遍这个“荷载规范”?这似乎非常多余。有没有一种方法可以“中止”ActionResult/POST并显示GET视图?
我希望这是有道理的。谢谢!
****更新/澄清 - 基于评论****
我想这个问题,更多的是“一般”之一。你能“中断”的帖子,并走“回”到GET查看,而无需重新运行所有的“荷载规范”(对于下拉菜单,填充视图模型等....)
发表一些代码。 – Mardoxx
有很多方法可以解决这个问题。但没有你的控制器方法的代码示例(我想你有一个控制器)很难给出正确的答案。 – Calvijn
首先,尽可能使用客户端验证和ajax,以避免完整返回。其次,将视图模型加载到像“LoadCustomerViewModel”这样的过程中。 –