/// <summary> /// Adds a Querystring parameter to the current Request's URL. /// </summary> /// <param name="request">The request containing the URL to manage.</param> /// <param name="parameterName">The key for the Querystring entry.</param> /// <param name="parameterValue">The value for the Querystring entry.</param> /// <returns>A URL concatenated with the new querystring parameter.</returns> public static string AddParameterToUrl(HttpRequest request, string parameterName, string parameterValue) { try { var qsh = new QueryStringHelper(request.Url.Query); qsh.AddOrReplace(parameterName, parameterValue); var returnUri = new UriBuilder(request.Url.Scheme, request.Url.Host, request.Url.Port) { Path = request.Url.AbsolutePath, Query = qsh.GetQueryString() }; return returnUri.ToString(); } catch { return string.Empty; } }
/// <summary> /// Creates a fully formatted url for use with building page links. /// </summary> /// <param name="page">The page number.</param> /// <returns>The fully formatted url.</returns> private string CreateUrl(int page) { var request = HttpContext.Current.Request; var helper = new QueryStringHelper(request.Url.Query); helper.AddOrReplace("page", page.ToString(CultureInfo.InvariantCulture)); var returnUri = new UriBuilder(request.Url.Scheme, request.Url.Host, request.Url.Port) { Path = request.Url.AbsolutePath, Query = helper.GetQueryString() }; return returnUri.ToString(); }