//url里有key的值,就替换为value,没有的话就追加. public static string UrlParam(string url, string ParamText, string ParamValue) { Regex reg = new Regex(string.Format("{0}=[^&]*",ParamText),RegexOptions.IgnoreCase); Regex reg1 = new Regex("[&]{2,}", RegexOptions.IgnoreCase); string _url = reg.Replace(url, ""); //_url = reg1.Replace(_url, ""); if (_url.IndexOf("?") == -1) _url += string.Format("?{0}={1}",ParamText,ParamValue);//? else _url += string.Format("&{0}={1}", ParamText, ParamValue);//& _url = reg1.Replace(_url, "&"); _url = _url.Replace("?&", "?"); return _url; }
/// <summary> /// 添加URL参数 /// </summary> public static string AddParam(string url, string paramName, string value) { Uri uri = new Uri(url); if (string.IsNullOrEmpty(uri.Query)) { string eval = HttpContext.Current.Server.UrlEncode(value); return String.Concat(url, "?" + paramName + "=" + eval); } else { string eval = HttpContext.Current.Server.UrlEncode(value); return String.Concat(url, "&" + paramName + "=" + eval); } }
/// <summary> /// 更新URL参数 /// </summary> public static string UpdateParam(string url, string paramName, string value) { string keyWord = paramName + "="; int index = url.IndexOf(keyWord) + keyWord.Length; int index1 = url.IndexOf("&", index); if (index1 == -1) { url = url.Remove(index, url.Length - index); url = string.Concat(url, value); return url; } url = url.Remove(index, index1 - index); url = url.Insert(index, value); return url; }
|