我有一个MVC应用程序,其中有一个或多个工作流程,非常相似但不同的工作流程。例如:MVC工作流模型状态
- 步骤1
- 步骤2
- 步骤2a
- 步骤2b(在步骤2a &状态条件)
- 工序(上步骤2 &状态条件) 3
- 表面处理
每个步骤都有与之相关的特定验证。目前,该行动是建立东西如下:
public controller Test
{
public ActionResult Step1()
{
// validation (10-30 lines)
// Store against model
return RedirectToAction("Step2");
}
public ActionResult Step2()
{
// validation (10-30 lines)
// Store against model
return someCondition ? RedirectToAction("Step2a") : RedirectToAction("Step3");
}
public ActionResult Step2a()
{
// validation (10-30 lines)
// Store against model
return RedirectToAction("Step2");
}
}
- 有没有这样做
return GetNextStep()
的一种方式?我在想一个状态机,但我不确定这是否是由于条件元素和状态(以及状态应该在哪里生存?模型内部还是独立状态对象?)最好的模式。 - 什么是验证每一步的最佳方式?
你是否在每一步使用不同的模型? –
目前是。但我期待重新建模使用单个模型并仅绑定到正确的属性。 –
所以你可以用你需要的5个步骤构建一个包含所有字段的模型。并且在每一步中,您都可以将控件传递给控制器并返回下一个步骤视图。 –