2011-01-14 15 views
0

ASP.NETでクエリ文字列を使用しようとしています。私は、次の形式の要件クエリ文字列を使用する/

http://localhost/website/1/?callback=?

ここで1は、プロファイルのIDを示しています。これは、id = 1の情報が文字列を通じて取得されることを意味します。

これがwebsite/2/?callback=?だった場合、IDは2になります。私はこの/id/をクエリ文字列として使用する方法を教えていますプロファイルIDを取得するために使用されます。これは私の最初の好みの/id/フォーマットを使用する以外の場合私は2つを使用してフェッチすることができる?'s

id = 1の場合、このページのDBからID = 1の詳細をフェッチしたいと思います。 http://localhost/website/1/?callback=?

答えて

0

あなたの場合、IDはPATHにあり、クエリ文字列ではありません。 ASPXページでRequest.Path経由でパスにアクセスできます。そこから、あなたがIDを期待しているパスの部分を得るために、文字列解析を行う必要があります。

あなたのケースではおそらくint.Parse(Request.Path.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries)[1])のようなものを使用しますが、簡潔にするために、このラインをかなり高密度にしています。まず、int.Parse()の代わりにint.TryParse()を使用してください。このコードは、IDが常にURLの同じ場所にあることを前提としています。たとえば、 "/ website/2 /"と "/ user/2 /"では動作しますが、 "/ website/somethingelse/2 /"では動作しません。

関連する問題