예제 #1
0
		/// <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();
		}