Как предполагается использовать RedirectToRoute?

У меня есть это в моем Global.asax.cs:

routes.MapRoute("BetaAccess", "beta-access", new { controller = "Beta", action = "Index" });

И это в моем контроллере (индексное действие на HomeController), и оно определенно попадает в цель:

RedirectToRoute("BetaAccess");

Но перенаправления по-прежнему не происходит... он просто переходит на обычную домашнюю страницу. Я использую это неправильно?

Кроме того, я могу выполнить Response.Redirect("~/beta-access"), и он перейдет на бета-страницу...


person Max Schmeling    schedule 17.08.2009    source источник


Ответы (2)


RedirectToRoute возвращает RedirectToRouteResult. Попробуйте это вместо этого.

return RedirectToRoute("BetaAccess");
person Joel    schedule 17.08.2009
comment
Я должен проголосовать за комментарий, который заставляет меня смеяться. (не беспокойтесь, это легко сделать ошибку. :) - person Chris Missal; 18.08.2009

Это перенаправит вас.

Response.RedirectToRoute("BetaAccess");
Response.End();
person Michael    schedule 24.10.2010
comment
У меня тоже с этим проблемы... Я использую его в веб-формах, но получаю эту ошибку: маршрут с именем «Студенты/базовая информация» не найден в коллекции маршрутов. Имя параметра: имя... я определил маршрут следующим образом: Routes.MapPageRoute(StudentsBasicData, Student/Basic-Information, ~/Student/BasicInfo/BasicInfoCompletion.aspx); - person Lucky; 18.05.2013