ASP.NET MVC 3 основной вопрос маршрутизации - PullRequest
0 голосов
/ 17 марта 2011

Я использую ASP.NET MVC 3 и следую инструкциям здесь http://www.asp.net/mvc/tutorials/asp-net-mvc-routing-overview-cs.

Я работаю над регистрацией и пытаюсь использовать маршрутизацию. Итак, типичный сценарий:

  1. Когда пользователь хочет зарегистрироваться, он попадает в / Account / SignUp.
  2. При успешной регистрации он перенаправляется в / Account / SignUp / Successful.

Я думал, что это будет достаточно просто, но параметр "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 ]

1 голос
/ 17 марта 2011

Ваш параметр маршрута называется id, поэтому:

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

или измените его на msg, если хотите:

"{controller}/{action}/{msg}"
0 голосов
/ 17 марта 2011

Измените параметр из вашего метода на id и создайте метод get для действия / Account / SignUp

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

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