1

Ok. I hope it's a right question and title.

I'm totally newbie to asp.net and c#. I've been searching the answer for days and got nothing. So i think this is the best place to ask this question.

this is my current URL

http://localhost:7474/mywebsite/ProductDetails.aspx?Category=CSR&artID=36&alias=support-for-central-jaya-and-yogyakarta-earthquake-disaster

I Want to make search engine friendly url. Can I make above URL to

http://localhost:7474/mywebsite/ProductDetails/CSR/36-support-for-central-jaya-and-yogyakarta-earthquake-disaster

FYI I'm not using MVC.

4

3 に答える 3

2

はい、できます。

詳細についてはRouteCollection.MapPageRouteをご覧ください。大まかに以下のコードが必要です。

routes.MapPageRoute(
    "ProductDetails",
    "/ProductDetails/{Category}/{artID}/{alias}",
    "~/ProductDetails.aspx");

ただし、artId と alias を同じセグメントにすることはできません。これらはスラッシュ (/) で区切る必要があります。

その他の違いは、次の代わりに、クエリ文字列ではなく RouteData からパラメーター値を取得する必要があることです。

Request.QueryString["Category"]

あなたがやる:

Page.RouteData.Values["Category"]

ps: 思いつきでやったので、コンパイルできないかもしれません

于 2013-04-04T03:41:12.963 に答える
1

URL 書き換えを試すことができるかもしれません。これは、コードをまったく変更せずにこれを実装するための理想的な選択です。また、正規表現を使用して URL から値を抽出し、値を元の aspx ページにバウンスします。

http://www.iis.net/downloads/microsoft/url-rewrite

于 2013-04-04T04:50:08.183 に答える