You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.4 KiB
C#

// ***********************************************************************
// Assembly : Common
// Author : yubaolee
// Created : 06-21-2016
//
// Last Modified By : yubaolee
// Last Modified On : 06-22-2016
// Contact :
// File: UriUtil.cs
// ***********************************************************************
using System;
using System.Collections.Specialized;
using System.Web;
namespace Common.Utilities
{
/// <summary>
/// URl帮助类
/// </summary>
public class UriUtil
{
/// <summary>
/// 在URL后面追加参数
/// </summary>
/// <param name="url"></param>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
public static string GetAppendedQueryString(string url, string key, string value)
{
if (url.Contains("?"))
{
url = string.Format("{0}&{1}={2}", url, key, value);
}
else
{
url = string.Format("{0}?{1}={2}", url, key, value);
}
return url;
}
public static string RemoveParameter(string url, string key)
{
url = url.ToLower();
key = key.ToLower();
if (!url.Contains(key + "=")) return url;
Uri uri = new Uri(url);
NameValueCollection collection = HttpUtility.ParseQueryString(uri.Query);
if (collection.Count == 0) return url;
var val = collection[key];
string fragmentToRemove = string.Format("{0}={1}", key, val);
String result = url.ToLower().Replace("&" + fragmentToRemove, string.Empty).Replace("?" + fragmentToRemove, string.Empty);
return result;
}
/// <summary>
/// 根据URL的相对地址获取决定路径
/// <para>eg: /Home/About ==>http://192.168.0.1/Home/About</para>
/// </summary>
/// <returns>System.string.</returns>
//public static string GetAbsolutePathForRelativePath(string relativePath)
//{
// HttpRequest Request = HttpContext.Current.Request;
// string returnUrl = string.Format("{0}{1}",Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, string.Empty) , VirtualPathUtility.ToAbsolute(relativePath));
// return returnUrl;
//}
}
}