如何获取每个参数及其值?

How to get every parameters and their value?

我使用了以下函数:

HttpUtility.ParseQueryString

到目前为止我能够提取一个参数值。但是现在我希望尽可能获得一个数组中的所有参数,以及另一个具有所有值的数组。有办法吗?

对于一个参数值,我这样做:

HttpUtility.ParseQueryString(myUri.Query).Get(param)

在最坏的情况下,如果我不能为两者都创建一个数组,如果我可以获得参数的 string array,那么我可以将上面的行与每个参数一起使用来获取值。

取自documentation:

NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

StringBuilder sb = new StringBuilder("<br />");
foreach (String s in qscoll.AllKeys)
{
    sb.Append(s + " - " + qscoll[s] + "<br />");
}

ParseOutput.Text = sb.ToString();

因此 ParseQueryString 的结果是一个字典,它包含所有已解析的数据,只需遍历它:)

你可以获取参数字典,然后获取每个参数值。

string uri = "http://www.example.com?param1=good&param2=bad";
string queryString = new System.Uri(uri).Query;

var queryDictionary = System.Web.HttpUtility
                            .ParseQueryString(queryString);

var paramsList = new Dictionary<string, string>();

foreach (var parameter in queryDictionary)
{
     var key = (string) parameter;
     var value = queryDictionary.Get(key);
     paramsList.Add(key, value);
}