C#更改跳转的URL地址

原创 2017年01月04日 07:53:12
      /// <summary>
        /// midString必须包含在oldUrl中
        /// </summary>
        /// <param name="oldUrl"></param>
        /// <param name="midString"></param>
        /// <returns></returns>
        private string replaceMidUrl(string oldUrl, string midString, string paraValue)
        {
            string uFront = oldUrl.Substring(0, oldUrl.IndexOf(midString));
            string uEnd0 = oldUrl.Substring(oldUrl.IndexOf(midString) + midString.Length);
            string uEnd;
            if (uEnd0.Contains("&"))
            {
                uEnd = uEnd0.Substring(uEnd0.IndexOf("&") + 1);
            }
            else
                uEnd = string.Empty;
            if (!string.IsNullOrEmpty(paraValue))
                return uFront + midString + paraValue + (uEnd == string.Empty ? string.Empty : "&" + uEnd);
            else
                return uFront + (uEnd == string.Empty ? string.Empty : (midString.StartsWith("?") ? "?" : "&") + uEnd);
        }


      
        public string GetUrlByParam(string oldUrl, string paraName, string paraValue)
        {
            paraValue = HttpContext.Current.Server.UrlEncode(paraValue);
            string wenSting = "?" + paraName + "=";
            if (oldUrl.Contains(wenSting))
            {
                return replaceMidUrl(oldUrl, wenSting, paraValue);
            }
            string andSting = "&" + paraName + "=";
            if (oldUrl.Contains(andSting))
            {
                return replaceMidUrl(oldUrl, andSting, paraValue);
            }
            if (!string.IsNullOrEmpty(paraValue))
            {
                if (oldUrl.Contains("?"))
                {
                    return oldUrl + "&" + paraName + "=" + paraValue;
                }
                return oldUrl + "?" + paraName + "=" + paraValue;
            }
            return oldUrl;
        }

相关文章推荐

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

利用K-means聚类算法根据经纬度坐标对中国省市进行聚类

K-means聚类算法是一种非层次聚类算法,在最小误差的基础上将数据划分了特定的类,类间利用距离作为相似度指标,两个向量之间的距离越小,其相似度就越高。程序读取全国省市经纬度坐标,然后根据经纬度坐标进...

Radon变换理论介绍与matlab实现--经验交流

本人最近在研究Radon变换,在查阅了各种资料之后在此写下个人的理解,希望与各位牛牛进行交流共同进步,也使得理解更加深刻些。 Radon变换的本质是将原来的函数做了一个空间转换,即,将原来的XY平...

Matlab绘图-很详细,很全面

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Ma...

CT图像重建技术

由于csdn贴图不方便,并且不能上传附件,我把原文上传到了资源空间CT图像重建技术 1.引言 计算机层析成像(Computed Tomography,CT)是通过对物体进行不同角度的射线投影测量而...

linux查找目录下的所有文件中是否含有某个字符串

查找目录下的所有文件中是否含有某个字符串  find .|xargs grep -ri "IBM"  查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名  find .|xargs g...

Radon变换入门matlab CT原理

http://hi.baidu.com/hi9394/blog/item/0d492b8bfd714700c8fc7aa9.html 简介 图像投影,就是说将图像在某一方向上做线性积分(或理解为累...

Intel系列处理器的三种工作模式

Intel系列处理器的三种工作模式 微机中常用的Intel系列微处理器的主要发展过程是:8080,8086/8088,80186, 80286,80386,80486,Pentium,Pen...

js弹出框、对话框、提示框、弹窗总结

js弹出框、对话框、提示框、弹窗总结 一、JS的三种最常见的对话框 [javascript] view plaincopy //=...

form表单的两种提交方式,submit和button的用法

1.当输入用户名和密码为空的时候,需要判断。这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写;有两种方法,一种是用submit提交。一种是用button提交。 方法一: 在jsp的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#更改跳转的URL地址
举报原因:
原因补充:

(最多只允许输入30个字)