我有两页“Product.aspx”& “Category.aspx”。使用URL路由我想更改页面的URL。
这是我的代码:
URLRoute.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Product", "{CategoryName}/{ProductName}","~/Product.aspx");
routes.MapPageRoute("Category", "Category/{CategoryName}", "~/Category.aspx");
}
当我使用此代码时
<a href="Mobile/Samsung"> Go To Product.aspx Page </a>
<a href="Category/Mobile"> Go To Category.aspx Page </a>
时间它在Product.aspx页面上重定向,而它应该是不同的页面。
注意:网址必须与此类似
for Product.aspx页面:www.example.com/Mobile/Samsung
这里的手机是类别名称,三星是产品名称(两者都是动态的)。
对于Category.aspx页面:www.example.com/category/Mobile
此类别是静态类别名称,移动设备是类别名称(类别名称动态)。
答案 0 :(得分:1)
订单在路由中很重要。 Category/Mobile
匹配{CategoryName}/{ProductName}
(CategoryName
的值为“类别”)。
更改
routes.MapPageRoute("Product", "{CategoryName}/{ProductName}","~/Product.aspx");
routes.MapPageRoute("Category", "Category/{CategoryName}", "~/Category.aspx");
到
routes.MapPageRoute("Category", "Category/{CategoryName}", "~/Category.aspx");
routes.MapPageRoute("Product", "{CategoryName}/{ProductName}","~/Product.aspx");
它应该按预期工作。