private string MakeSetCookiesUrl(Uri uri, string address = null, bool remember = true) { var qsc = new QueryStringCollection { { "Congress", Congress }, { "StateSenate", StateSenate }, { "StateHouse", StateHouse }, { "County", County }, { "Page", HttpUtility.UrlEncode(uri.ToString()) }, { "Address", address } }; if (!remember) { qsc.Add("Remember", "n"); } return(UrlManager.GetStateUri(StateCode, "SetCookies.aspx", qsc).ToString()); }
public static QueryStringCollection FromPairs(IEnumerable <string> pairs) { var list = pairs as IList <string> ?? pairs.ToArray(); if (list.Count % 2 != 0) { throw new ArgumentException("pairs entries not paired"); } var qsc = new QueryStringCollection(); for (var inx = 0; inx < list.Count; inx += 2) { if (!IsNullOrWhiteSpace(list[inx + 1])) { qsc.Add(list[inx], list[inx + 1]); } } return(qsc); }
private static QueryStringCollection Parse(string queryString, bool urldecoded) { var qsc = new QueryStringCollection(); if (queryString?.StartsWith("?", StringComparison.Ordinal) == true) { queryString = queryString.Substring(1); } if (!IsNullOrEmpty(queryString)) // empty { var parameters = queryString.Split('&'); foreach (var parameter in parameters) { string key; string value; var equalPos = parameter.IndexOf('='); if (equalPos < 0) // null key { key = null; value = parameter; } else { key = parameter.Substring(0, equalPos); value = parameter.Substring(equalPos + 1); } if (urldecoded) { key = HttpUtility.UrlDecode(key); value = HttpUtility.UrlDecode(value); } Debug.Assert(key != null, "key != null"); Debug.Assert(value != null, "value != null"); qsc.Add(key, value); } } return(qsc); }