0

products.aspx のリンクをクリックして、別のページの category.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} を削除して使用しない場合、ハイパーリンクは正常に機能します。

なぜそれが起こっているのか、そしてそれに対して何ができるのかを理解しようとしています。

4

1 に答える 1