2012-04-14 7 views
2

, как я могу получить только домен, например:Получить корневой домен на asp.net

URL-адрес: HTTP: // локальный: 11093/SiteA/Admin/Default.aspx

Тогда, я хочу, чтобы получить только: HTTP: // локальный: 11093/SiteA/

Я использую:

Path.GetFileName(Request.Url.Host) 

Но получить только т он: локальный и пытается:

Path.GetFileName(Request.Url.PathAndQuery) 

Но получить весь адрес. Большое спасибо.

+2

Как насчет страницы.ResolveUrl ("~ /") –

+0

@PhilBolduc: Это только часть «SiteA». –

ответ

6

Попробуйте это:

var HostAndPath = Request.Url.AbsoluteUri.Replace(Request.Uri.AbsolutePath, "") 
+1

Привет, его работа! Но я изменил его: 'Request.Url.AbsoluteUri.Replace (Request.Url.AbsolutePath," ") & Page.ResolveUrl (" ~/")' –

+0

Спасибо, человек, работает супер! – TheGateKeeper

0

Try что-то вроде этого

Uri uri = new Uri("http://localhost:11093/SiteA/Admin/Default.aspx"); 
string requested = uri.Scheme + uri.SchemeDelimiter + uri.Host + ":" + uri.Port; 

Вы можете работать непосредственно на запросе URI

Uri uri = Request.Url; 
string requested = uri.Scheme + uri.SchemeDelimiter + uri.Host + ":" + uri.Port; 
+0

Нужно ли вручную указывать uri на каждой странице? –

+0

Нет, вы можете получить его непосредственно из запроса, если хотите – Iridio

0

Попробуйте это ...

Page.ResolveUrl("~").ToString() 
Смежные вопросы