1

URLの書き換えに取り組んでいますが、いくつか問題があります。URLを次のようにします。

www.domain.com/product/myproduct

ただし、データベースにアクセスせずに、製品のIDを取得できるようにもしたいと思います。私は次のようなURLを持つことを考えました:

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やトリプルDESなど、次にServer.URLEncodeメソッドをIDに適用すると、IDを簡単に非表示にできます。

ページを開くと、暗号化されたIDを取得し、Server.URLDecodeを実行してIDを復号化できます。

とにかく...なぜgetパラメータとして製品のIDを渡さないのですか?www.domain.com/product/myproduct?PID=#$$#12のようなもので、PIDは暗号化され、URLエンコードされているため、簡単に処理できます。

于 2012-05-16T10:49:42.907 に答える