/// <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. C# .net IDE Rider入门

    话说史上最强IDE Visual Studio 所向披靡数十载尚无敌手,现在Intellij带着统一IDE界的目标来挑战VS的霸主地位.了解Rider后发现,哎哟亮点多多,还不错哦! Rider是一款 ...

  2. synchronized的实现原理及锁优化

    记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized.对于当时的我们来说,synchronized是如此的神奇且强大.我们赋予它一个名字“同步”,也成为我们解决多线程情况的良药 ...

  3. freeradius 启动报错Refusing to start with libssl version OpenSSL 1.0.1

    改动etc/raddb下的radiusd.conf文件 找到allow_vulnerable_openssl = no,改动成allow_vulnerable_openssl = yes

  4. 第二次phython作业

    第一题:编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数.(注意保证删除操作的效率) import random x=[random.randint(0,100)for i in ra ...

  5. 【Linux探索之旅】第二部分第三课:文件和文件夹,组织不会亏待你

    wx_fmt=jpeg" alt="" style="max-width:100%; height:auto!important"> 内容简单介 ...

  6. BZOJ 1898 构造矩阵+矩阵快速幂

    思路: T的最小公倍数是12 那么12以内暴力 整除12 的部分用矩阵快速幂 //By SiriusRen #include <cstdio> #include <cstring&g ...

  7. POJ 2188线段树求逆序对

    题目给的输入是大坑,算法倒是很简单-- 输入的是绳子的编号wire ID,而不是上(或下)挂钩对应下(或上)挂钩的编号. 所以要转换编号,转换成挂钩的顺序,然后再求逆序数. 知道了这个以后直接乱搞就可 ...

  8. mysql导入数据,涉及到时间转换,乱码问题解决

    表结构: drop table if exists `qi_an_log`;CREATE TABLE `qian_log` (`dt` LONG NOT NULL COMMENT '产生日期,格式yy ...

  9. SpringBoot(五) 番外---Docker

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...

  10. ASP.NET MVC 使用FluentScheduler做定时任务

    源代码地址: https://github.com/fluentscheduler/FluentScheduler 使用NuGet安装FluentScheduler 这是我实际项目中用到的代码,也可看 ...