public static NameValueCollection GetQueryString(string url) { if (string.IsNullOrEmpty(url) || url.IndexOf("?", StringComparison.Ordinal) == -1) { return(new NameValueCollection()); } var querystring = url.Substring(url.IndexOf("?", StringComparison.Ordinal) + 1); return(TranslateUtils.ToNameValueCollection(querystring)); }
public static NameValueCollection GetQueryStringFilterXss(string url) { if (string.IsNullOrEmpty(url) || url.IndexOf("?", StringComparison.Ordinal) == -1) { return(new NameValueCollection()); } var attributes = new NameValueCollection(); var querystring = url.Substring(url.IndexOf("?", StringComparison.Ordinal) + 1); var originals = TranslateUtils.ToNameValueCollection(querystring); foreach (string key in originals.Keys) { attributes[key] = FilterXss(originals[key]); } return(attributes); }
public static string AddQueryStringIfNotExists(string url, NameValueCollection queryString) { if (queryString == null || url == null || queryString.Count == 0) { return(url); } var index = url.IndexOf("?", StringComparison.Ordinal); if (index != -1) { var query = TranslateUtils.ToNameValueCollection(url.Substring(index).Trim('?', '&'), '&'); foreach (string key in query.Keys) { if (queryString[key] != null) { queryString.Remove(key); } } } return(AddQueryString(url, queryString)); }