2012-02-28 3 views
-1

私はC#とSQLデータベースを使用しています。 dbにはアイテムに関する情報(ID、名前など)が格納されています。一意の名前のページを保存するにはどうすればいいですか?

私はテンプレートとして使用し、アイテムのIDを/Item.aspx?id=223のように渡します。 すべてのアイテムのページを作成し、/Items/Red-Book.aspxのようなフォルダに保存したいと考えています。 提案がありますか?

ありがとう、ウォルト

+0

質問があいまいですが、あなたはURLをリライトする方法を求めていますか?したがって、クエリ文字列のidパラメータの代わりに、製品名を確認したいと思いますか? – markpsmith

+0

https://www.google.com/search?q=asp.net+rewrite+url – Aristos

答えて

0

物理的にページを保存する必要はありません。あなたが提供するItemiIdに従ってコンテンツを生成する1つのページItem.aspxだけが必要です。 (あなたが質問で説明したのと同じ方法で)

URLを書き直す方法を調べる必要があります。

書き換えURLの機能は、ユーザーが要求したURLを取り込んで別のものに書き換えるということです。

URLが/Item.aspx?id=223とyoureのASP.NETに書き換え中され、ユーザの要求/Items/Red-Book.aspxはバック/Item.aspx?id=223をロードする場合クライアントに送信します。

あなたは以下のようになり、あなたのURL.Theロジックを書き換えることApplication_BeginRequestで呼び出すことができる方法のRewritePathを利用することができます:

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    var currentPath = HttpContext.Current.Request.Path; 
    // do some logic to generate newPath 
    var newPath = GetNewPath (currentPath); 
    HttpContext.Current.RewritePath(newpath); 
    // after this point ASP.NET will work as the user would have requested newpath 
}