【发布时间】:2011-06-02 12:08:17
【问题描述】:
我在 Global.asax 上的路由实现
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");
}
问题是;如果我在超链接上使用 product 路由,如下所示;
<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。
我错过了什么吗?
【问题讨论】:
标签: asp.net c#-4.0 url-rewriting url-routing