我剛剛參與將一系列使用InfoPath UI的複雜工作流程遷移到基於Web的UI。我是ASP.Net MVC的新手,但已經開始評估它的技術與經典的ASP.Net的工作。複雜工作流程的ASP.Net MVC和ASP.Net
正如大多數工作流程中的典型情況一樣,在每個州都有一些業務規則確定(a)誰可以查看哪些內容; (2)誰可以編輯什麼內容; (3)用戶操作選項可能是什麼(編輯;拒絕;批准)等等。實質上,在呈現適當的視圖之前,需要將很多邏輯應用於每個請求。在ASP.Net方面更有經驗,我知道根據需要呈現表單可以通過頁面背後的代碼(啓用/禁用/隱藏字段)輕鬆實現。我還沒有看到如何用ASP.Net MVC實現這一點(但是我意識到在使用MVC時需要新的想法 - '只給特定視圖上的內容+有限的用戶操作選項')。
因此,如果使用ASP.Net MVC,看起來我需要創建大量的視圖。每個視圖中的大部分內容都是相同的。在每個狀態下,只有字段啓用狀態或按鈕在大多數情況下對於這些視圖纔會不同。例如:Step01Initiate('Has Save'按鈕); Step01OriginatorView(有'編輯'按鈕); Step01OriginatorEdit(有'Save'按鈕); Step01Review(有'Accept'/'Reject'按鈕); Step01ReviewReject(用於評論者筆記;具有「保存」/「取消」按鈕)。對於多達六個州的工作流程,這會產生很多意見。我可以看到選擇ASP.MVC(1)在內容方面「瘦」視圖的優勢; (2)在控制器和不同模型中進行邏輯合併。
我是否在應用MVC方面考慮了正確的方向 - 「充足的觀點」;還是有更好的方法來實現我的目標(使用ASP.Net MVC或傳統的ASP.Net)?
非常好 - 謝謝大衛。這確實有助於引導我進入ASP.MVC方向。 – 2010-06-01 17:37:34