/// <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. js实现新闻滚动实例

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  2. linux 上安装 redis

    一.安装gcc Redis是c语言开发的. 安装 redis 需要 c 语言的编译环境.如果没有 gcc 需要在线安装. yum install gcc-c++ 二.下载 redis 链接:https ...

  3. Ubuntu 安装 Courier New字体和雅黑consolas字体

    一直觉得Ubuntu下的字体不是很好,但毕竟不影响使用,然后作开发的时候eclipse的字体完全没有windows下的两大适合编成的字体courier new 和consloas .可以使用系统安装字 ...

  4. dubbo知识点理解

    1.分布式服务架构关键在于:用于提高业务复用及整合的 分布式服务框架(RPC) 是关键.注册中心是关键,提供业务复用和整合. 2.dubbo在消费方,获取服务列表后提供软负载均衡.dubbo在消费方提 ...

  5. [Hyperapp] Render Text with JSX in Hyperapp

    Hyperapp is an ultra lightweight (1kb), minimal, functional, JavaScript library for building UIs. It ...

  6. MVC传递数据-传递对象或对象集合

    前言 本文主要介绍从View(或者js)文件向Controller提交对象或者对象集合.比方.将表格中的一行数据作为一个对象提交.或将多行数据作为一个集合提交到Controller. 回想 从View ...

  7. Qt实战之酷狗音乐

    此项目仅仅实现实现基本功能: 界面的模仿. 歌词功能的实现.歌曲在线试听和下载. 专辑写真的播放. 在线歌词搜索.以及主要的button功能. 界面没有採用设计器. 所有手写规划.这里先放出效果图. ...

  8. c#将List&lt;T&gt;转换成DataSet

    /// <summary>         /// List<T> 转换成DataSet         /// </summary>         /// &l ...

  9. 解读HDFS(转载)

    是蛮久木有写过关于hadoop的博客了额,虽然最近也看了一些关于linux的基础知识,但似乎把这个东西忘记了,其实时不时回顾一下以前的知识还是蛮有意思的,且行且忆! 我们Hadoop 主要由HDFS和 ...

  10. AngularJS1 学习笔记1

    什么是 AngularJS? AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易. AngularJS 把应用程序数据绑定到 ...