Проблема маршрутизации MVC 2.0 - параметр URL не распознан - PullRequest
2 голосов
/ 29 июня 2010

В моем классе AccountController у меня есть следующее:

public ActionResult Verification(string userGuid)
{

    Debug.WriteLine(userGuid);
...

В моем global.asax у меня есть:

routes.MapRoute(
    "AccountVerification", 
    "{controller}/{action}/{userGuid}", 
    new { controller = "Account", action = "Verification", userGuid = UrlParameter.Optional }
);

Когда я перехожу к http://localhost/Account/Verification/123 ..нет никакого отладочного вывода ... его не распознает параметр - что является моей проблемой.Не уверен, что мне не хватает.

Я хочу, чтобы этот параметр был необязательным ... если он не установлен, тогда я возвращаю другое представление.

Редактировать :Когда я помещаю Debug.WriteLine("hello world"); в функцию проверки, он выводит ее, поэтому кажется, что маршрутизация идет к правильной функции.

Изменить еще раз : контроллер по умолчанию все еще присутствует, но яне думаю, что он достигнет этого маршрута, так как он использует другой контроллер / действие

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

Ответы [ 3 ]

4 голосов
/ 29 июня 2010

Маршрут, который вы нам дали, должен соответствовать этому - какие еще маршруты вы определили над ним? Может быть, по другому маршруту.

1 голос
/ 29 июня 2010

RouteDegguer поможет определить, какие маршруты выбираются.

0 голосов
/ 29 июня 2010

Поместите это определение вверху и посмотрите, не работает ли оно по-прежнему. первый шаг к отладке маршрутов

...