/// <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. HTML5 基础测试题

          HTML5 基础测试题 1.HTML5 之前的 HTML 版本是什么?() A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 2.HTML5 的正确 d ...

  2. 关于thinkpadU盘系统盘启动不了解决方法

    http://www.laomaotao.org/softhelp/bios/382.html(原文章地址,比较全面) thinkpad笔记本uefi无法启动详细解决教程 最近有个别用户反映说thin ...

  3. 洛谷 P2507 [SCOI2008]配对

    P2507 [SCOI2008]配对 题目背景 四川NOI2008省选 题目描述 你有 n 个整数Ai和n 个整数Bi.你需要把它们配对,即每个Ai恰好对应一个Bp[i].要求所有配对的整数差的绝对值 ...

  4. POJ 2773

    不经意看见dis后的“mod”一词后,瞬间有了思路,点进去看,却发现别人想的和我的不一样——! 我是这样想的,利用的是剩余系+欧几里德带余除法的性质. 若两者GCD=1,则必有除数和余数GCD=1.于 ...

  5. HDU 5358 First One(枚举)

    First One Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  6. spring boot系统学习(知识点笔记)

    一.http的注解配置 1.@SpringBootAplication=@SpringBootConfiguration(其实就是个@Configuration)+@EnableAutoConfigu ...

  7. 关闭 sftp

    vi /etc/ssh/sshd_config 注释掉这行Subsystem  sftp    /usr/libexec/openssh/sftp-server /etc/rc.d/init.d/ss ...

  8. zzulioj--1715--土豪银行(贪心)

     1715: 土豪银行 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 456  Solved: 123 SubmitStatusWeb Board ...

  9. zzuoj--10399--Turing equation(模拟)

    Turing equation Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 152  Solved: 85 [Submit][Status][Web ...

  10. linux centos下载地址

    Centos下载地址 http://r.aminglinux.com