0

名前、電子メール、アドレスなど、Web サイトのユーザーのレコードのデータベースがあります。ASP.net (C#) を使用してページを作成しました。これは、ユーザーの情報を整理して表示できます。誰かがリストからユーザー名をクリックしたときに、そのページに情報を表示したいと考えています。ページにパラメータを追加するにはどうすればよいですか? ユーザー名でリストにリンクされた名前またはIDを使用して、データベースからデータを取得できるようにします。

私がやろうとしていることは、次のようなものです。

example.com/userpage.aspx/XYZ
4

4 に答える 4

3

クエリ文字列パラメーターを使用できます。

example.com/userpage.aspx?id=XYZ

Request オブジェクトの QueryString Collection を使用して、サーバーの ID にアクセスします。

string id = Request.QueryString["id"];
于 2012-05-16T18:56:52.793 に答える
2

ASP.NET ルーティング エンジンを使用して URL の一部を取得し、それをパラメーターにルーティングすることをお勧めします。

ルートを example.com/page.aspx?id=xyz equals example.com/page/xyz のように設定できます

于 2012-05-16T18:57:11.983 に答える
1

従来の ASP.NET を使用している場合は、Xander が提案するように、パラメーターをクエリ文字列に渡す必要があります。ASP.NET は、? の後にパラメーターを正しく解析します。Request["parameterName"] 経由でアクセスできます。

しかし、投稿したような「ユーザーフレンドリーなURL」が必要な場合は、ユーザーフレンドリーなURLをシステムURLに書き換えるメカニズムが必要です。

  • まず、IIS7 Url Rewrite モジュールまたはサード パーティの Url Rewrite モジュールを使用できます。通常、これは正規表現に基づいており、url /Users/XYZ を /Users.aspx?name=XYZ に書き換えることができます。

  • また、ライアンが提案したように、比較的新しいテクノロジ ASP.NET ルーティング エンジンを使用することもできます。

  • URL スキームが複雑で、正規表現で記述できない場合は、独自の HTTP モジュールを作成し、カスタムの書き換えルールを実行できます。

Users.aspx.cs ページの場合、Request["Name"] からクエリ パラメータを読み取り、その値を使用して SQL クエリ (またはデータベースにアクセスするために使用するもの) を実行できます。

于 2012-05-16T19:13:05.873 に答える
0

GridView を使用している場合は、OnRowCommand イベントをアタッチするだけで、リンクをクリックすると、ページ上に表示するユーザー ID の名前を渡すことができます。

于 2012-05-17T10:09:50.410 に答える