我正在尝试单击 products.aspx 中的链接并重定向到另一个页面 categories.aspx。当我在路由中使用 {*id} 来处理 products.aspx 上的查询字符串时,链接无法正常工作。发送相同的 products.aspx 页面。
我的路线:
routes.MapPageRoute("productsgroup", "products/{groupname}/{*id}", "~/products.aspx");
routes.MapPageRoute("productscat", "products/brand/{bname}", "~/categories.aspx");
products.aspx 页面中的超链接:
<asp:Hyperlink ID="hyper_link" runat="server" NavigateUrl='<% GetRouteUrl("productscat", new {bname=Eval("brand-name").ToString()})%>' Text="Category1"></asp:Hyperlink>
超链接在 asp 中:Repeater 和 Eval() 在链接上工作正常,链接似乎正常,当我单击超链接时,url 更改但不发送 categories.aspx 页面。
如果我删除查询字符串 {*id} 并且不使用超链接就可以正常工作。
我试图了解它为什么会发生以及我们能做些什么。