routes.MapRoute(
"GetProductBySubcategory", // Route name
"{category}/{SubCategoryName}", // URL with parameters
new { controller = "Product", action = "GetProductBySubCategoryName"
});
这是我正常工作的路线。
但是当我使用类似localhost:12345/Admin/Login
的网址时,它会使用路由网址并重定向到GetProductBySubCategoryName
操作。
实际上我使用@ Url.RouteUrl()方法来调用路由。这工作得很好。但是当像账户/注册这样的其他网址意味着只有两个密钥重定向到路由中给出的操作时。
我正在使用其他路线
我使用的所有路线如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"GetProductByCategory",
"{category}",
new { controller = "Product", action = "GetProductByCategoryName" }
);
routes.MapRoute(
"GetProductBySubcategory",
"{category}/{SubCategoryName}",
new { controller = "Product", action = "GetProductBySubCategoryName" }
);
routes.MapRoute(
"ProductByNameRoute",
"{category}/{subcategory}/{style}/{productName}",
new { controller = "Product", action = "ProductDetails" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
这是我的route.config文件。 我无法呼叫登录链接,登录链接全部转到路由网址。
实际上我想要路由网址,如果我点击getproductbycategory url将域/类别,如果我点击getproductbysubcategory url将是domain / category / subcategory。 请帮我找到解决方案。