0

初めて ASP.NET を使用しています。

これが私の問題です。ASP.NET ページがあります。他のウェブサイトが私のウェブページにリダイレクトされ、URL は

http://localhost/mysite/newpage.aspx?request=424718&to%5B0%5D=111832&to%5B1%5D=1186313&to%5B2%5D=100009#_=_

実際にそのウェブサイトが送信するのは、リクエスト値と id の配列です

これらの値を自分のページで取得して表示する必要があります。

@Request["request"] を使用してリクエスト値を取得しました。しかし、ID値を取得する方法がわかりません(配列であるため)。@Request["to"] を試したところ、null が返されました。

URLエンコーディングも理解できません..このようになっているはずです

?request=3435&to=3495&to=435&to=3546

4

1 に答える 1

2

あなたが探している ID と値は、URL にあると思います。これはクエリ文字列と呼ばれます。

単一値

このコードは、クエリ文字列から各キーと値のペアを出力します。複数の値がある場合は、カンマで区切られます。

C#

foreach (String key in Request.QueryString.AllKeys)
{
    Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
}

VB.NET

For Each key as String in Request.QueryString.Allkeys
    Response.Write("Key: " & key & " Value: " & Request.QueryString(key))
Next

上記のコードを使用すると、toキーに対して出力される値のコンマ区切りリストがあることに気付くでしょう。これは、toキーが複数回使用されるためです。

複数の値

これにより、各キーに続いて各キーの値が出力されます。

foreach (String key in Request.QueryString.AllKeys)
{
    var values = Request.QueryString.GetValues(key);

    foreach (String item in values)
    {
      Response.Write("value: " + item + " ";
    }
}

これにより、複数のキーがある場合でも、各キーが出力され、次に各キーの各値が出力されます。

参照

于 2013-02-10T06:02:28.220 に答える