[C#] Как получить URL-путь в C #


Answers

Основной URL: http: // localhost: 8080 / mysite / page.aspx? P1 = 1 & p2 = 2

Получите разные части URL-адреса в C #.

Value of HttpContext.Current.Request.Url.Host
localhost

Value of HttpContext.Current.Request.Url.Authority
localhost:8080

Value of HttpContext.Current.Request.Url.AbsolutePath
/mysite/page.aspx

Value of HttpContext.Current.Request.ApplicationPath
/mysite

Value of HttpContext.Current.Request.Url.AbsoluteUri
http://localhost:8080/mysite/page.aspx?p1=1&p2=2

Value of HttpContext.Current.Request.RawUrl
/mysite/page.aspx?p1=1&p2=2

Value of HttpContext.Current.Request.Url.PathAndQuery
/mysite/page.aspx?p1=1&p2=2
Question

Я хочу получить весь путь URL, кроме текущей страницы URL-адреса, например: мой URL-адрес: http://www.MyIpAddress.com/red/green/default.aspx. Я хочу получить « http: // www. MyIpAddress.com/red/green/ "только. Как я могу получить. Я делаю, как

string sPath = new Uri(HttpContext.Current.Request.Url.AbsoluteUri).OriginalString; System.Web.HttpContext.Current.Request.Url.AbsolutePath;
            sPath = sPath.Replace("http://", "");
            System.IO.FileInfo oInfo = new System.IO.FileInfo(sPath);
            string sRet = oInfo.Name;
            Response.Write(sPath.Replace(sRet, ""));

Его показное исключение на новом System.IO.FileInfo (sPath) в виде sPath содержит «localhost / red / green / default.aspx», говорящий: «Формат данного пути не поддерживается».




использовать это

string sPath = (HttpContext.Current.Request.Url).ToString();
sPath = sPath.Replace("http://", "");
var oInfo = new  System.IO.FileInfo(HttpContext.Current.Request.RawUrl);
string sRet = oInfo.Name;
Response.Write(sPath.Replace(sRet, ""));