【发布时间】:2010-04-23 00:11:52
【问题描述】:
我正在使用 ASP.NET MVC 2。
为了简单起见,我有三种付款方式:信用卡、电子支票或“稍后向我收费”。我想:
- 选择一种付款方式
- 在我的视图中显示一种付款类型的一些字段
- 使用这些字段(特定于类型)运行一些逻辑
- 显示确认视图
- 使用这些字段(特定于类型)运行更多逻辑
- 显示收据视图
每种付款类型都有特定于该类型的字段...可能有 2 个字段,也可能更多。目前,我知道有多少和哪些字段,但可以添加更多。我相信对我的观点来说最好的事情是对每种付款类型都有一个部分视图来处理不同的字段,并让控制器决定要呈现哪个部分(如果你有更好的选择,我愿意)。我真正的问题来自视图之间控制器中发生的逻辑。每种付款类型都有可变数量的字段。我想保持所有的强类型,但感觉某种字典是唯一的选择。添加到根据付款类型运行的特定逻辑。
为了保持强类型化,我为每种支付类型创建了一个类。没有接口或继承类型,因为每个付款类型的字段都不同。然后,我为每种付款类型提供了一个 Submit() 方法。然后,当控制器决定显示哪个局部视图时,它还分配提交操作的目标。
这不是优雅的解决方案,感觉非常错误。我伸出手来。你会怎么做呢?
【问题讨论】:
标签: c# asp.net-mvc design-patterns