Member 12658724 Ответов: 1

Диспетчер не улавливает маршрут?


У меня есть маршруты.
public static void RegisterRoutes(RouteCollection routes)
       {
           routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

           routes.MapRoute("SurveySubmitRoute", "Survey/Submit",
                           defaults: new {action = "Submit", controller = "Survey"});

           routes.MapRoute("SurveyWelcomeRoute", "Survey/{id}",
                           defaults: new { action = "Index", controller = "Survey" });
           routes.MapRoute("SurveyLanguageRoute","Survey/Language{languageName}",
               defaults: new { action = "Language", controller = "Survey" });


           routes.MapRoute(
               name: "Default",
               url: "{controller}/{action}/{id}",
               defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
           );
       }

На мой взгляд, я хочу перейти к языковому методу.
window.location.href = "/Survey/Language?languageName=" + selectedValue;

В контроллере мы имеем
public ActionResult Index(Guid id){ // omitted details}

И
 public ActionResult Language(string languageName)
        {
// omitted the details
}

Мой вопрос заключается в том, что код не переходит к языковому методу. Он всегда идет к индексному методу.
Почему?

Что я уже пробовал:

Пока никаких зацепок. Спасибо за помощь.

1 Ответов

Рейтинг:
5

Kornfeld Eliyahu Peter

"Survey/Language{languageName}"
window.location.href = "/Survey/Language?languageName=" + selectedValue;
И то и другое неверно...

"Survey/Language/{languageName}"
window.location.href = "/Survey/Language/" + selectedValue;
Попробовать это...