1

我正在处理 URL 重写,并且遇到了一些问题。我希望我的网址是这样的:

www.domain.com/product/myproduct

但我也希望能够在不访问数据库的情况下检索产品的 ID。我想过有一个像这样的网址:

www.domain.com/product/myproduct/1 

或者

www.domain.com/product/1-myproduct

但是如果我能隐藏ID就更好了。

那么,我该怎么做最简单的方法呢?

目前我的 Global.asax 有以下路线:

routes.MapPageRoute("Produkt visning",
                        "legetoej/{Categoryname}/{SubCategoryname}/{ProductName}",
                        "~/SingleProduct.aspx");

当我在 SIngleProduct.aspx 上检索名称时,我会这样做:

object productRoute = Page.RouteData.Values["ProductName"];

        if (productRoute != null && !string.IsNullOrEmpty(productRoute.ToString()))
        {
// do stuff
}

如果我很简单就可以得到 ID 而不是名字,那就太棒了。

非常感谢-stackoveflowers ;-)

4

1 回答 1

1

要隐藏产品的 ID...获取 ID 并对其应用加密...类似 DES 或 Triple DES,然后将 Server.URLEncode 方法应用于 ID,然后您可以轻松隐藏 ID。

当您打开页面时,您可以简单地获取加密的 ID 并执行 Server.URLDecode 并解密 ID。

无论如何...为什么不将产品的 ID 作为获取参数传递?像... www.domain.com/product/myproduct?PID=#$$#12 ,其中 PID 是加密的和 URL 编码的,然后您可以轻松地处理它。

于 2012-05-16T10:49:42.907 回答