我正在使用asp.net mvc 4,我想在url中始终有控制器名称+动作名称。有时它可以工作,但无论出于何种原因,当我启动应用程序时,它只显示项目的名称+“/”,即使我使用重定向到默认操作。
我的设置:
在routeConfig中我有:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "ProductionQueue", action = "Index", id = UrlParameter.Optional }
);
}
我使用的重定向:
return RedirectToAction( "Index", "ProductionQueue", null);
所以问题是,即使可选参数为null,有没有办法在url中始终拥有控制器+动作名称? (在启动时,使用重定向等时。)
Nb:解决方案必须在生产中使用
答案 0 :(得分:0)
删除默认情况
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}"
);
虽然您会注意无法浏览网站的根目录,但您每次都必须指定控制器和操作。