2012-05-29 21 views
1

我正在將mvc3/c#中的嚮導放在一起。我有一個大概的模型設置帶有單獨控制器動作的Mvc3嚮導

public interface IStepView {} 

public class Step1View : IStepView {} 

public class Step2View : IStepView {} 

我有一個父視圖,顯示這些步驟的2個部分視圖之一。

我想爲第2步的表單提交在同一個控制器上使用自定義操作。閱讀類似的帖子似乎什麼,我需要做的就是添加像這樣

RouteTable.Routes.MapRoute("Step2Route", "", new { controller = "Demo", action = "MyAction" }); 

定製的路線,我在Main.cshtml

@using (Html.BeginForm()) 
{ 
    @Html.BeginRouteForm("Step2Route", new { controller = "RolloverController", action = "Stuff" }) 

    // and so on for each Step I want to use a custom action 


} 

連接到一起這是爲了做到這一點?

回答

0

如果您不知道嚮導中的步驟數,則自定義路由可能有助於跟蹤嚮導中的進度。

即嚮導/ {WizardName}步驟/ {STEPNUMBER}/

但因爲它看起來像你知道的步驟,您的控制器上的動作可以對應他們沒有定製路線:

即RegistrationWizard/EnterInfo,RegistrationWizard/Confirm,RegistrationWizard/Success

爲控制器上的每個操作創建獲取和發佈方法。採用相同的模型並使用RedirectToAction傳遞它或將其存儲在會話中,以便在最後一步提交數據之前跟蹤用戶對數據所做的更改。

+0

謝謝,這比我想要的更有意義。 – MikeW

相關問題