ASP.NET MVC 3基本路由问题

时间:2011-03-17 15:08:02

标签: asp.net-mvc-3 asp.net-mvc-routing

我正在使用ASP.NET MVC 3并遵循此处的教程http://www.asp.net/mvc/tutorials/asp-net-mvc-routing-overview-cs

我正在研究注册功能并尝试使用路由。所以典型的情况是:

  1. 当用户想要注册时,他会被带到/ Account / SignUp。
  2. 成功注册后,他会被重定向到/ Account / SignUp / Successful。
  3. 我认为这很简单,但“Successful”参数永远不会在控制器中的SignUp方法中传递。

     public ActionResult SignUp(string msg)
     {
         // Do some checks on whether msg is empty or not and then redirect to appropriate view
     }
    

    在global.aspx.cs中,我有很多香草路由:

       routes.MapRoute(
                "Default",
                "{controller}/{action}/{id}",
                new { controller = "Home", action = "Index", id = UrlParameter.Optional });
    

    我在这里没有掌握什么?

2 个答案:

答案 0 :(得分:1)

您的路线参数名为id,因此:

public ActionResult SignUp(string id)
{
    ...
}

或如果您愿意,可将其更改为msg

"{controller}/{action}/{msg}"

答案 1 :(得分:0)

将参数从您的方法更改为id并为/ Account / SignUp操作创建get方法

public ActionResult SignUp()
{
  //this is the initial SignUp method
}

[HttpPost]
public ActionResult SignUp(string id)
{
  //User will be redirected to this method
}