如何获得每个参数及其价值?

时间:2017-01-25 18:08:32

标签: c# asp.net system.web

我使用以下功能:

HttpUtility.ParseQueryString

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

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

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

在最坏的情况下,如果我不能同时拥有一个数组,如果我可以获得参数的string array,那么我可以使用上面的每个参数来获取值。

2 个答案:

答案 0 :(得分:1)

取自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的结果是一个Dictionary,它包含所有已解析的数据,只是遍历它:)

答案 1 :(得分:0)

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

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);
}