2009-03-16 22 views
3

Ich möchte meine Domain-URL in asp.net abrufen.Abrufen der Domain-URL

zum Beispiel, wenn meine URL ist:

http://www.mydomain.com/blog/currentPage.aspx?id=156 

Ich möchte nur den Teil

http://www.mydomain.com/blog/ 

jemand kann mir helfen?

+0

In Ihrem Fall Domain ist www.domain.com und /blog/currentPage.aspx?id=156 ist relative URL – abatishchev

+0

Server-Variablen werden dies für Sie lösen. [link text] (http://www.aspcode.net/List-of-RequestServerVariables.aspx) –

Antwort

5
Uri originalUrl = new Uri("http://www.mydomain.com/blog/currentPage.aspx?id=156"); // Request.Url 
string domain = originalUrl.Host; // www.mydomain.com 
string domainUrl = String.Concat(originalUrl.Scheme, Uri.SchemeDelimiter, originalUrl.Host); // http://www.mydomain.com 
7

Sie haben viele Möglichkeiten:

string root = this.ResolveUrl("~") 

Oder

Uri requestUri = Context.Request.Url; 
string baseUrl = requestUri.Scheme + Uri.SchemeDelimiter + requestUri.Host + (requestUri.IsDefaultPort ? "" : ":" + requestUri.Port); 

Oder

string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority); 

Wenn Sie/Blog zu den letzten beiden beigefügten möchten, fügen Sie

+ Request.ApplicationPath 
+0

Ich denke, du bist die Antwort ist die beste. Einfach ist es besser, String.Concat und Request.ApplicationPath ist bereits eine Zeichenfolge. – abatishchev

+0

wahr, korrigiert! –