2013-06-18 27 views
0

我目前的路線路由獲取和發佈到不同的URL

routes.MapRoute(
       name: "Start", 
       url: "Home", 
       defaults: new {controller = "Home", action = "GetStarted", id = UrlParameter.Optional} 
       ); 
     This route redirect to the URL /Home/ 

的ActionResult

[ActionName("GetStarted")] 
     public ActionResult getStart(){ 
} 

我需要創建基於另一個作用的結果類似下面是HttpPost另一條路線。

 [HttpPost] 
     [EnsureHttpAttribute] 
     [ActionName("GetStarted")] 
     public ActionResult getStart(string ddl_week, string ddl_day){ 
    } 

網址我想重定向是/主頁/計劃。我怎樣才能做到這一點?

回答

0

路線更改爲:

routes.MapRoute(
       name: "Start", 
       url: "Home/{action}", 
       defaults: new {controller = "Home", action = "GetStarted", id = UrlParameter.Optional} 
       ); 

如果你真的想要發佈到不同的URL,你必須指定你的形式,我認爲是在你的GetStarted查看。

@using (Html.BeginForm("Program", "Home", FormMethod.Post, null })) 

在你的控制器,變化:

[HttpPost] 
    [EnsureHttpAttribute] 
    [ActionName("GetStarted")] 
    public ActionResult getStart(string ddl_week, string ddl_day){ 
    } 

[HttpPost] 
    [EnsureHttpAttribute] 
    [ActionName("Program")] 
    public ActionResult Program(string ddl_week, string ddl_day){ 

    } 
+0

野應..我不希望創建一個新的動作。每當我打電話給這個HttpPost動作,我的網址必須是/ Home/Program。所以我需要創建另一條路線。我如何創建這個? – JEMI

+0

我編輯了我的文章 – jzm

+0

沒有創建一個新的actionresult我該怎麼做? – JEMI