Global.asaxの上で私のルートの実装asp.netルーティング問題
protected void Application_Start(object sender, EventArgs e)
{
this.intRoutes(RouteTable.Routes);
}
void intRoutes(RouteCollection Rts)
{
Rts.MapPageRoute("search", "{language}/{page}", "~/search.aspx");
Rts.MapPageRoute("category", "{language}/{name}/{no}/{categoryname}", "~/category.aspx");
Rts.MapPageRoute("product", "{language}/{name}/{no}/{productname}", "~/product.aspx");
}
問題があります。もし私がの製品ハイパーリンク上のルーティングを使用すると、次のようになります。
<asp:HyperLink ID="hyProduct"
NavigateUrl='<%#HttpUtility.UrlDecode(((Page)HttpContext.Current.Handler).GetRouteUrl("product", new{ language=getUIFromHelper(),name=getNameFromHelper(),no=Eval("code"),productname=getProductNameFromHelper(Eval("name"))})) %>' runat="server" Text="something" />
すべてがうまく行く
/en/products/06.008.001.150.0510/davis-fish-seeker-green
のように予想されるように、リンクが書かれているが、私はそのリンクをクリックしたときにcategory.aspxページの実行がproduct.aspxのinsted。
私は何かを逃していますか?
はいジョナサン、私は両方のルートが同じ構造を持っている、ということに気づきました。 私はあなたの迅速な応答のためにそれらの1つの... 感謝を変更する必要があります –