我有一個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個步驟構建一個包含所有字段的模型。並且在每一步中,您都可以將控件傳遞給控制器並返回下一個步驟視圖。 –