/// <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. iText、poi操作word2007(读取,生成)

    关于生成word文件以及插入文字.表格.图片等功能,我使用了poi和itext,因为poi插入图片的jar包我在网上查并不是太完全,也可能我没找到如何使用,所以插入图片我用的是itext iText所 ...

  2. Mybatis动态代理实现函数调用

    如果我们要使用MyBatis进行数据库操作的话,大致要做两件事情: 1. 定义DAO接口 在DAO接口中定义需要进行的数据库操作. 2. 创建映射文件 当有了DAO接口后,还需要为该接口创建映射文件. ...

  3. 解决ORA-28002: 密码7天之后过期办法

    https://www.douban.com/group/topic/46177516/ https://yq.aliyun.com/ziliao/42484 http://blog.csdn.net ...

  4. 在Html5中与服务器交互

    转自原文 在Html5中与服务器交互 刚刚涉足职场,上头就要我研究HTML5,内嵌到手机上,这对我来说完全是一个陌生的领域,不过也正好给自己一个机会来学习,最近做到要跟服务器交互这部分,这部分可是卡了 ...

  5. HDU 4318 Contest 2

    简单的一题,使用类DIJK的算法就可以了. #include <iostream> #include <cstdio> #include <queue> #incl ...

  6. Nodejs之旅開始

    web前端是一个门槛低,但精通起来比較难的行业,由于它涉及的范围比較广,也许在十年前.我光靠切图,就能找到一个好的职位,可是如今,仅仅会切图.我们非常难找到自己惬意的工作,如今前端职位要求不仅是htm ...

  7. javase复习

    一.总结封装 封装就是将数据和操作数据的方法绑定起来,通过private修饰数据,这样对数据的访问只能通过定义的操作数据的方法get/set来操作数据. 封装优点:1.由于将数据进行了封装,隐藏了不必 ...

  8. gson的安装和使用

    gson的安装和使用 1.安装 2.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...

  9. ThinkPHP5.0框架开发--第11章 TP5.0 杂项

    ThinkPHP5.0框架开发--第11章 TP5.0 杂项 第11章 TP5.0 杂项 =============================================== 今日学习 1. ...

  10. nyoj--1023--还是回文(动态规划)

    还是回文 时间限制:2000 ms  |           内存限制:65535 KB 难度:3 描述 判断回文串很简单,把字符串变成回文串也不难.现在我们增加点难度,给出一串字符(全部是小写字母) ...