1

目前,我正在使用各种 if 语句和子字符串来操作查询字符串参数,并想知道是否有更有效的方法。

准确地说 - 我需要向当前 url 添加一个查询字符串参数,但如果它已经存在 - 我只需要修改它。

澄清一下 - 我可以使用标准的字符串操作方法来实现这一点,并且我知道如何检索当前的 url 等。我只是想知道这些轮子是否已经到位并且我正在重新发明它们。

4

3 回答 3

2
 HttpUtility.ParseQueryString(queryString);

更多信息:http: //msdn.microsoft.com/en-us/library/system.web.httputility.parsequerystring.aspx

于 2012-06-21T09:25:40.893 回答
1

可能您正在寻找HttpUtility.ParseQueryString()

于 2012-06-21T09:28:46.113 回答
0

您可以将查询字符串解析为 aDictionary<string,string>并使用它来操作,然后在再次输出为查询字符串时简单地格式化键值对:

public Dictionary<string, string> ToDictionary(string queryString)
{
    return queryString.TrimStart('?').Split('&').Select(qp => qp.Split(',')).ToDictionary(a => a[0], a=> a[1]);
}

public Dictionary<string, string> ToString(Dictionary<string, string> queryString)
{
    return '?' + string.Join('&', queryString.Select(kvp => kvp.Key + '=' + kvp.Value));
}
于 2012-06-21T09:24:39.370 回答