我有这个路线配置
routes.MapRoute(
name: "catProducts",
url: "Description/{action}/{id}",
defaults: new { controller = "Home", action = "ProductDetail" }
);
routes.MapRoute(
name: "Products2",
url: "Category/{action}/{cat}/{subcat}",
defaults: new { controller = "Home", action = "Products", subcat = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "",
defaults: new { controller = "Account", action = "Login"}
);
routes.MapRoute(
name: "Default1",
url: "{controller}/{action}"
);
当我尝试时
它的somtime重定向权限,但有时会进入登录页面
答案 0 :(得分:0)
没有为B2BWebSite
定义特定路线。因此,当您转到http://localhost/B2BWebSite/Description/ProductDetail/3
时,它会检查默认路由,而您的Default route
为Account/Login
,如下所示。这就是登录页面的原因。
routes.MapRoute(
name: "Default",
url: "",
defaults: new { controller = "Account", action = "Login"}
);
关于,你有疑问它有时会起作用,有时也不会。可能与会话中的登录信息有关。如果用户已登录,则可能无法进入登录页面。
答案 1 :(得分:0)
您可能需要在第一条路线中指定ID。
routes.MapRoute(
name: "catProducts",
url: "Description/{action}/{id}",
defaults: new { controller = "Home", action = "ProductDetail", id= UrlParameter.Optional }
);