#region 在URL地址里添加参数
/// <summary>
/// 在URL地址里添加参数
/// </summary>
/// <param name="Url">要添加参数的Url</param>
/// <param name="ParamName">参数名称</param>
/// <param name="ParamValue">参数值</param>
/// <returns></returns>
public static string AddParamToUrl(string Url,string ParamName,string ParamValue)
{
string regexstr;
regexstr=string.Format(@"(\?|\&)\s*{0}=\s*(.*)(?=\&|\#)?",ParamName);
if(Regex.IsMatch(Url,regexstr,RegexOptions.IgnoreCase))
{
return Regex.Replace(Url,regexstr,ParamName+"="+ParamValue+"&",RegexOptions.IgnoreCase);
}
regexstr=string.Format(@"(\?|\&)\s*{0}=\s*(.*)$",ParamName);
if(Regex.IsMatch(Url,regexstr,RegexOptions.IgnoreCase))
{
return Regex.Replace(Url,regexstr,ParamName+"="+ParamValue,RegexOptions.IgnoreCase);
}
if(Url.IndexOf("?")>-1)
{
int pos = Url.IndexOf("#");
if(pos<0)
{
return Url+"&"+ParamName+"="+ParamValue;
}
else
{
return Url.Insert(pos,"&"+ParamName+"="+ParamValue);
}
}
return Url+"?"+ParamName+"="+ParamValue;
}
#endregion
上面这方法是为了在一个Url地址里添加一个参数和值,两个正则表达式有误,请指点该怎样写呢?
/// <summary>
/// 在URL地址里添加参数
/// </summary>
/// <param name="Url">要添加参数的Url</param>
/// <param name="ParamName">参数名称</param>
/// <param name="ParamValue">参数值</param>
/// <returns></returns>
public static string AddParamToUrl(string Url,string ParamName,string ParamValue)
{
string regexstr;
regexstr=string.Format(@"(\?|\&)\s*{0}=\s*(.*)(?=\&|\#)?",ParamName);
if(Regex.IsMatch(Url,regexstr,RegexOptions.IgnoreCase))
{
return Regex.Replace(Url,regexstr,ParamName+"="+ParamValue+"&",RegexOptions.IgnoreCase);
}
regexstr=string.Format(@"(\?|\&)\s*{0}=\s*(.*)$",ParamName);
if(Regex.IsMatch(Url,regexstr,RegexOptions.IgnoreCase))
{
return Regex.Replace(Url,regexstr,ParamName+"="+ParamValue,RegexOptions.IgnoreCase);
}
if(Url.IndexOf("?")>-1)
{
int pos = Url.IndexOf("#");
if(pos<0)
{
return Url+"&"+ParamName+"="+ParamValue;
}
else
{
return Url.Insert(pos,"&"+ParamName+"="+ParamValue);
}
}
return Url+"?"+ParamName+"="+ParamValue;
}
#endregion
上面这方法是为了在一个Url地址里添加一个参数和值,两个正则表达式有误,请指点该怎样写呢?
解决方案 »
- 地图经纬度计算问题,帮忙看看,100 分帖子
- checkbox选中对应的管理那里超连接失效.
- 请问:关于asp.net页面断页打印的问题
- 文件读取问题,急!!!!!请高手指教
- 还是关于IE Web Controls,刚才结贴太快了~~~
- 这个问题很郁闷;sun在restDay中存在啊????
- 关于dropdownlist中我设置了autopostback=true,进行页面跳转的问题
- 我想取“/abc/ttt/uuu”字串中的“/ttt/uuu”在C#中用什么函数?取字串长度用什么函数?
- 这种效果怎么做出来?
- 看看这段执行sql语句的代码
- ASP.NET如何实现【签章管理】?
- 关于用户控件的问题,高手请进!
根据传递进来的参数 ParamName,进行查找,如paramName=aa,则找出“aa=1”这样的参数值对
你想在
http://www.csdn.net/?aa=1&b=3中找到
aa = 1然后替换aa的值就是说把aa = 1替换成aa = 2 或者aa = 3等等,但对其他的参数不要有任何影响,如果我的理解是正确的话,你试试这个表达式:
(?<=(\?|\&))\s*{0}=\s*(.*)(?=(&|#))
另外要注意的是你传入的URL中的参数必须由?或者&开头