有没有什么方法可以帮助我操作查询字符串参数?

时间:2012-06-21 09:21:05

标签: c# string url query-string

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

准确地说 - 我需要在当前网址中添加查询字符串参数,但如果它已经存在 - 我需要修改它。

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

3 个答案:

答案 0 :(得分:2)

 HttpUtility.ParseQueryString(queryString);

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

你可以将查询字符串解析为Dictionary<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));
}