/// <summary>

        /// Url字段值替换,无该字段则加入

        /// </summary>

        /// <param name="strRepSource">须要改动的源URL</param>

        /// <param name="strRepField">字段,注意区分大写和小写。如:ID或Key37</param>

        /// <param name="strNewValue">新值</param>

        /// <returns>替换后新Url</returns>

        public static string UrlReplace(string strRepSource, string strRepField, string strNewValue)

        {

            System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();

            bool bSwitch = false;

if (strRepSource.Contains("&" + strRepField + "="))

            {

                strRepField = "&" + strRepField + "=";

                bSwitch = true;

            }

            else if (strRepSource.Contains("?" + strRepField + "="))

            {

                strRepField = "?" + strRepField + "=";

                bSwitch = true;

            }

if (bSwitch)

            {

                string[] strArray = strRepSource.Split(new string[] { strRepField }, 2, StringSplitOptions.RemoveEmptyEntries);

                strBuilder.Append(strArray[0]);

                strBuilder.Append(strRepField);

                strBuilder.Append(strNewValue);

if (strArray.Length == 2 && strArray[1].Contains("&"))

                {

                    string[] strAy = strArray[1].Split(new char[] { '&' }, 2, StringSplitOptions.RemoveEmptyEntries);

                    strBuilder.Append("&" + strAy[strAy.Length - 1]);

                }

            }

            else

            {

                strBuilder.Append(strRepSource);

                strBuilder.Append('&');

                strBuilder.Append(strRepField);

                strBuilder.Append('=');

                strBuilder.Append(strNewValue);

            }

return strBuilder.ToString();

        }

/// <summary>

        /// Url字段值替换。无该字段则加入

        /// </summary>

        /// <param name="strRepSource">须要改动的源URL</param>

        /// <param name="strRepField">字段,注意区分大写和小写。如:ID或Key37</param>

        /// <param name="iNewValue">新值</param>

        /// <returns>替换后新Url</returns>

        public static string UrlReplace(string strRepSource, string strRepField, int iNewValue)

        {

            return UrlReplace(strRepSource, strRepField, iNewValue.ToString());

        }

/// <summary>

        /// Url构造函数

        /// </summary>

        /// <param name="strUrl">原Url</param>

        /// <param name="strIdField">实体ID字段</param>

        /// <param name="iIdValue">ID值</param>

        /// <param name="strJvalue">选择值。实现相应选择卡凹陷</param>

        /// <returns>构造后的Url,包含Key37和Key58值的加入</returns>

        public static string UrlStructure(string strUrl, string strIdField, string iIdValue, string strJvalue)

        {

            strUrl = UrlReplace(strUrl, strIdField, iIdValue);

            strUrl = UrlReplace(strUrl, "Key37", iIdValue);

            strUrl = UrlReplace(strUrl, "Key58", iIdValue);

            if (!string.IsNullOrEmpty(strJvalue))

            {

                strUrl = UrlReplace(strUrl, "J", strJvalue);

            }

            return strUrl;

        }

/// <summary>

        /// 加入參数

        /// </summary>

        public static string AddParameters(string url, string k, string v)

        {

            if (!string.IsNullOrEmpty(k))

            {

                url = UrlReplace(url, k, v);

            }

            return url;

        }

/// <summary>

        /// Url构造函数

        /// </summary>

        /// <param name="strUrl">原Url</param>

        /// <param name="strIdField">实体ID字段</param>

        /// <param name="iIdValue">ID值</param>

        /// <returns>构造后的Url。包含Key37和Key58值的加入</returns>

        public static string UrlStructure(string strUrl, string strIdField, int iIdValue)

        {

            strUrl = UrlStructure(strUrl, strIdField, iIdValue.ToString(), string.Empty);

            return strUrl;

        }

/// <summary>

        /// Url构造函数

        /// </summary>

        /// <param name="strUrl">原Url</param>

        /// <param name="strIdField">实体ID字段</param>

        /// <param name="iIdValue">ID值</param>

        /// <returns>构造后的Url。包含Key37和Key58值的加入</returns>

        public static string UrlStructure(string strUrl, string strIdField, string iIdValue)

        {

            strUrl = UrlStructure(strUrl, strIdField, iIdValue, string.Empty);

            return strUrl;

        }

sage开发url替换字符串的更多相关文章

  1. Web报表工具FineReport二次开发JS之字符串

    在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本.API接口等进行深入的开发与控制. 考虑到JS脚本开发的使用较多,这里先先简 ...

  2. js replace替换字符串,同时替换多个方法

    在实际开发中,经常会遇到替换字符串的情况,但是大多数情况都是用replace替换一种字符串,本文介绍了如何使用replace替换多种指定的字符串,同时支持可拓展增加字符串关键字. let conten ...

  3. Python正则替换字符串函数re.sub用法示例(1)

    本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...

  4. Linux Vim替换字符串的一些方法小结

    使用Linux环境 进行开发工作的程序猿经常有编辑器之争,是vim牛还是emacs棒.二者都是程序猿的开发神器,不管用好哪一个都会使你的工作事半功倍. 本文重点介绍 Vim的替换字符串方法技巧,这些方 ...

  5. 在LoadRunner中查找和替换字符串

    参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/ ...

  6. [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度

    1.替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串.举例说明其功能:========================================= @echo off set a ...

  7. querystring 解析url 查询字符串

    对前端同学来说,经常要碰到一种比较麻烦的情况,那就是url查询字符串的解析问题.说起来也不难,就是比较麻烦. 具体来处理这种情况的时候,相信有一部分同学就是针对具体项目中的需要的字符去正则匹配一下,业 ...

  8. sql语句格式化数字(前面补0)、替换字符串

    以下是详细分析: 1.select power(10,3)得到1000(即:10的3次方) 2.select cast(1000+33 as varchar) 将1000转换类型(即:将int转化成v ...

  9. phpcms评论的url替换问题

    在整个项目改ip之前,评论里的url是127.0.1.113 改成localhost之后,更新了所有的url和缓存,但是v9_comment表中的url字段没有更新. 想一下后台只有一个地方是替换数据 ...

随机推荐

  1. javascript深度克隆函数deepClone

    javascript深度克隆函数deepClone function deepClone(obj) { var _toString = Object.prototype.toString; // nu ...

  2. CSS解决ul下面最后一个li的margin

    1.运用css3的nth-child(3n): <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  3. KindEditor 上传图片浏览器兼容性问题

    1.使用 KindEditor 的图片上传插件时,需要返回如下格式的 JSON 数据 //成功时 { "error" : 0, "url" : "ht ...

  4. android官网被封掉了,仅仅好用这个站点进谷歌了!嘎嘎

         http://developer.android.com/sdk/index.html    这个能够进去.可是必须是搜狐 .360,uc都不用特意FQ     http://173.1 ...

  5. m_Orchestrate learning system---二十一、怎样写算法比较轻松

    m_Orchestrate learning system---二十一.怎样写算法比较轻松 一.总结 一句话总结:(1.写出算法步骤,这样非常有利于理清思路,这样就非常简单了 2.把问题分细,小问题用 ...

  6. 21.boost Ford最短路径算法(效率低)

    到某个节点最近距离                  最短路径当前节点的父节点 完整代码 #include <iostream> #include <string> #incl ...

  7. Kali linux 2016.2(Rolling)的利用MSF攻击windows小案例(exploits + payloads + taegets)(博主推荐)

    不多说,直接上干货! 本博文举的例,是利用远程溢出windows服务器. Exploit/windows/smb/ms08_067_netapi. Payload :    windows/shell ...

  8. js小知识 正则表达

    js定义正则表达式有两种方式:普通方式,构造函数方式 正则对象是js的内置对象 正则的属性 正则的方法 js中字符串的方法 一.普通方式(双斜杠//方式):var  reg = /表达式/附加参数 表 ...

  9. MyBatis数据持久化(六)resultMap使用

    resultMap是MyBatis最强大也是最重要的特性,使用它我们可以將查询结果或者sql输入条件和一个HashMap的key进行映射,大大简化了sql查询条件的输入,而且使得数据的查询变得非常灵活 ...

  10. Servlet学习(八)——Session

    1.Session技术 Session技术是将数据存储在服务器端的技术,会为每个客户端都创建一块内存空间存储客户的数据,但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内存空间.所以说Ses ...