Ниже мой RouteConfig.cs
фрагмент кода:RedirectToRoute перенаправляет к текущему действию, а не перенаправлять на маршрут, указанный routename
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "myroute",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "About", id = UrlParameter.Optional }
);
}
и Home/Contact
я перенаправлять на маршрут под названием «MyRoute», которая сопоставлена Home/About
. Вместо перенаправления на Home/About
он перенаправляется на одно действие (Home/Contact
). Ниже мой HomeController
код:
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
return View();
}
public ActionResult Contact()
{
return RedirectToRoute("myroute");
}
Почему редирект myroute
не работает?
Любая помощь будет оценена по достоинству. Спасибо.
Вы не указали имя действия, поэтому оно использует значения из текущего запроса - вам нужно вернуть RedirectToRoute ("myroute", new {action = "About"}); 'или указать маршрут, если вы хотите, чтобы он перешел в 'About' –