目前我正在使用各种if语句和子字符串来操作查询字符串参数,并想知道是否有更有效的方法。
准确地说 - 我需要在当前网址中添加查询字符串参数,但如果它已经存在 - 我需要修改它。
澄清 - 我可以使用标准的字符串操作方法实现这一点,我知道如何检索当前的URL等等。我只是想知道这些轮子是否已经到位并且我正在重新发明它们。
答案 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));
}