我使用以下功能:
HttpUtility.ParseQueryString
到目前为止,我能够提取一个参数值。但是现在我想尽可能获得数组中的所有参数,以及另一个具有所有值的数组。有没有办法做到这一点?
对于一个参数值,我这样做:
HttpUtility.ParseQueryString(myUri.Query).Get(param)
在最坏的情况下,如果我不能同时拥有一个数组,如果我可以获得参数的string array
,那么我可以使用上面的每个参数来获取值。
答案 0 :(得分:1)
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¶m2=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);
}