0

我是第一次使用 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 编码.. 它应该是这样的

?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 回答