【发布时间】:2015-02-05 11:49:45
【问题描述】:
我有一个在控制器中填充大量数据的页面和一个表单。
我的问题实际上很简单:我必须在动作的 POST 版本中重复所有这些填充代码,还是有一些简化以仅处理发布的数据?
表单本身是一个局部视图,其余页面数据在发布时保持不变。
编辑:我查看了get-post-redirect,但我认为这对代码重复没有帮助。
【问题讨论】:
-
重复什么人口代码?你指的是
SelectLists吗?显示一些代码,以便我们了解您在做什么 -
这完全取决于您的逻辑以及您是否真的需要为模型定义但未包含在表单中的值。如果您确实需要它们,那么显然您在处理之前将模型填充到控制器的 POST 中。没有代码重复,因为您将有一个方法来填充您将从 GET 和 POST 调用的模型。或者使用隐藏字段将所有数据填充到页面中,如果这不是安全问题的话。
-
你可以创建一个辅助函数来执行代码,否则会被复制。然后只需在 GET 和 POST 操作中调用该函数
-
@GSerg gotcha,它实际上是一个相同的页面,带有表单验证错误或成功消息。所以我将把所有页面填充代码放入一个函数中。
标签: asp.net-mvc model-view-controller