下面代码演示使用Regex类设置url的参数
///
<summary>
/// 设置get参数的值,没有在url后面加上
/// </summary>
/// <param name="url"> 需要设置的url </param>
/// <param name="name"> get参数的名称 </param>
/// <param name="value"> get参数的值 </param>
/// <returns></returns>
string SetUrlQuery( string url, string name, string value)
{
string pattern = @" (?<=[?&] " + name + @" =)[^&]* " ;
Regex reg = new Regex(pattern, RegexOptions.IgnoreCase);
if (reg.IsMatch(url))
{
url = reg.Replace(url, value);
}
else
{
url += url.EndsWith( " .aspx " ) ? " ? " : " & " ;
url += name + " = " + value;
}
return url;
}
/// 设置get参数的值,没有在url后面加上
/// </summary>
/// <param name="url"> 需要设置的url </param>
/// <param name="name"> get参数的名称 </param>
/// <param name="value"> get参数的值 </param>
/// <returns></returns>
string SetUrlQuery( string url, string name, string value)
{
string pattern = @" (?<=[?&] " + name + @" =)[^&]* " ;
Regex reg = new Regex(pattern, RegexOptions.IgnoreCase);
if (reg.IsMatch(url))
{
url = reg.Replace(url, value);
}
else
{
url += url.EndsWith( " .aspx " ) ? " ? " : " & " ;
url += name + " = " + value;
}
return url;
}