【发布时间】:2017-02-05 08:47:41
【问题描述】:
下面是我的RouteConfig.cs代码sn-p:
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 不起作用?
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您尚未指定操作名称,因此它使用当前请求中的值 - 您需要
return RedirectToRoute("myroute", new { action = "About" });或者如果您希望它转到About则指定路由
标签: asp.net-mvc routes url-routing asp.net-mvc-routing redirecttoroute