, - , ,
public static string SetParameter(string queryString, string paramName, object paramValue)
{
string regex = @"([&?]{0,1})" + String.Format(@"({0}=[^&]*)", paramName);
RegexOptions options = RegexOptions.RightToLeft;
if (Regex.IsMatch(queryString, regex, options))
{
queryString = Regex.Replace(queryString, regex, String.Format("$1{0}={1}", paramName, paramValue));
}
else
{
if (queryString == String.Empty)
{
return String.Format("{0}={1}", paramName, paramValue);
}
else
{
queryString = String.Format("{0}&{1}={2}", queryString, paramName, paramValue);
}
}
return queryString;
}
, QueryString NameValueCollection URI, , .