路由获取和发布到不同的URL

时间:2013-06-18 07:07:09

标签: asp.net-mvc asp.net-mvc-4 url-routing

我的当前路线

  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){
    }

我想重定向的网址是 / Home / Program 。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

将您的路线更改为:

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

如果您确实要发布到其他网址,则必须在表单中指定我认为是在您的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){

    }