• 获取超链接修改参数返回修改参数后的链接地址


     #region 获取超链接修改参数返回修改参数后的链接地址
        /// <summary>
        /// 获取超链接修改参数返回修改参数后的链接地址
        /// </summary>
        /// <param name="url">链接地址</param>
        /// <param name="changename">要修改的参数名</param>
        /// <param name="changevalue">修改的参数值</param>
        /// <returns>修改后的参数地址</returns>
        private string ReturnPage(Uri url,string changename,string changevalue)
        {
            string strUrlReferrer = url.ToString();
            string strUrl = null, strTemp = null;
            string str = "";
            if (strUrlReferrer.IndexOf("?") == -1)
            {
                strUrl = strUrlReferrer;
            }
            else if (strUrlReferrer.IndexOf("?") > 0)
            {
                strUrl = strUrlReferrer.Substring(0, strUrlReferrer.IndexOf("?"));
                strTemp = strUrlReferrer.Substring(strUrlReferrer.IndexOf("?") + 1, strUrlReferrer.Length - strUrlReferrer.IndexOf("?") - 1);
                if (strTemp.IndexOf("&") == -1)
                {
                    string[] strParam = strTemp.Split('=');
                    if (strParam[0].ToString().Trim().ToUpper() == changename)
                    {
                        str += changename + "=" + changevalue;
                    }
                    else
                    {
                        str += strParam[0] + "=" + strParam[1].ToString()+"&"+changename+"="+Server.UrlEncode(changevalue);
                    }
                }
                else
                {
                    string[] strParamCount = strTemp.Split('&');
                    for (int k = 0; k < strParamCount.Length; k++)
                    {
                       if (k > 0 && k < strParamCount.Length)
                        {
                            if (strParamCount[k].ToString().Trim().ToUpper().IndexOf(changename) > -1)
                            {
                                str += "&"+changename+"="+changevalue+"";
                            }
                            else
                            {
                                string[] strParam = strParamCount[k].Split('=');
                                str += "&" + strParam[0] + "=" + Server.UrlEncode(strParam[1]);
                            }
                        }
                        else if (k == 0)
                        {
                            if (strParamCount[k].ToString().Trim().ToUpper().IndexOf(changename) > -1)
                            {
                                str += changename+"="+changevalue;
                            }
                            else
                            {
                                string[] strParam = strParamCount[k].Split('=');
                                str += strParam[0] + "=" + Server.UrlEncode(strParam[1]);
                            }
                        }
                    }
                }
            }
            return strUrl + "?" + str;
        }
        #endregion
    

      

  • 相关阅读:
    根据 谷歌官网写一个 该浏览器上的扩展
    深度学习
    华为在线学习
    pandas 常规操作大全
    猎奇有些意思的
    LINUX 必知必会检测表--通读无关语言
    自动化部署三剑客 gitlab + ansible + jenkins
    python 框架
    delphi 多线程之System.TMonitor
    函数和对象 及 prototype和__proto__
  • 原文地址:https://www.cnblogs.com/coxsoft/p/2228646.html
Copyright © 2020-2023  润新知