从asp.net中的url获取一组值

时间:2013-02-10 06:00:43

标签: asp.net request

我第一次使用ASP.NET。

这是我的问题。 我有一个ASP.NET页面。 其他一些网站重定向到我的网页,网址是

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编码..它应该是这样的

请求= 3435&安培;要= 3495&安培;要= 435&安培;至3546 =

1 个答案:

答案 0 :(得分:2)

ids&我相信,您正在寻找的值在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 + " ";
    }
}

这将输出每个键,然后输出每个键的每个值,即使有多个键也是如此。

<强>参考