C#操作Url参数类

时间:2015/12/3 17:24:00来源:互联网 作者:flyso 点击: 1400 次
//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;
        }         


Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3