Может ли кто-нибудь помочь мне получить URL-адрес текущей рабочей страницы ASP.NET на C#?Как получить URL-адрес текущей страницы в C#
ответ
Попробуйте это:
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
string host = HttpContext.Current.Request.Url.Host;
// localhost
AbsolutePath, похоже, возвращает «/» в .NET 3.5 (не тестировал другие версии) для путей, похожих на учетные записи пользователей Twitter, таких как http://twitter.com/#!/user , Вы можете использовать метод Фрагмент, чтобы получить что-нибудь после фунта (#). –
На самом деле это неверно при использовании с механизмом перезаписи, например UrlRewriter.net, потому что это даст переписанный URL. Затем вы можете использовать: Request.Url.GetLeftPart (UriPartial.Authority) + Request.RawUrl –
что вы делаете, если 'HttpContext.Current' равно null? – drzaus
, если вы просто хотите часть между HTTP: // и первый слэш
string url = Request.Url.Host;
бы вернуться, если stackoverflow.com вызывается из этой страницы
Не включает порт. Нужна: 'HttpContext.Current.Request.Url.Port'. – JohnB
@JohnB или, скорее, 'HttpContext.Current.Request.Url.Authority', извлечение' host: port' одним вызовом ... –
Поиск приземлился на этой странице, но это не совсем то, что я искал. Проводка здесь, если кто-то еще ищет то, что я приземлялся на этой странице тоже.
Существует два способа сделать это, если у вас есть только строковое значение.
.NET путь:
То же @Canavar, но вы можете создать экземпляр нового объекта Uri
String URL = "http://localhost:1302/TESTERS/Default6.aspx";
System.Uri uri = new System.Uri(URL);
, который означает, что вы можете использовать те же методы, например,
string url = uri.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string host = uri.host
// localhost
Regex путь:
Также стоит отметить, что если строка не может быть проанализирована, она выкинет исключение System.FormatException. Тем не менее, метод System.Uri.TryCreate был введен в .NET 4. –
Просто обмена, как это было мое решение, благодаря сообщению Canavar в.
Если у вас есть что-то вроде этого:
"http://localhost:1234/Default.aspx?un=asdf&somethingelse=fdsa"
или как это:
"https://www.something.com/index.html?a=123&b=4567"
и вы хотите только ту часть, которую пользователь должен ввести в то это будет работать:
String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
String strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, "/");
, которые приведут к следующим:
"http://localhost:1234/"
"https://www.something.com/"
Просто для указания очевидного: HttpContext находится в System.Web, то есть System.Web.HttpContext. msdn: http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx – Sindre
Еще проще: 'Request.Url.GetLeftPart (UriPartial.Authority)' Смотрите здесь: https: // msdn .microsoft.com/en-us/library/system.uri.getleftpart (v = vs.110) .aspx –
Я думаю, его достаточно, чтобы вернуть абсолютный путь ..
Path.GetFileName(Request.Url.AbsolutePath)
использованием System.IO;
Я не думаю, что это удовлетворило бы OP, потому что оно дает только имя страницы :( – clamchoda
Если вы хотите получить
localhost:2806
из
http://localhost:2806/Pages/
затем использовать:
HttpContext.Current.Request.Url.Authority
Вы можете иногда нужно, чтобы получить различные значения из URL.
Ниже пример показывает различные способы извлечения различных частей URL
Пример: (Пример URL)
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2
КОД
Response.Write("<br/> " + HttpContext.Current.Request.Url.Host);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Authority);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Port);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsolutePath);
Response.Write("<br/> " + HttpContext.Current.Request.ApplicationPath);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsoluteUri);
Response.Write("<br/> " + HttpContext.Current.Request.Url.PathAndQuery);
ВЫХОД
localhost
localhost:60527
60527
/WebSite1test/Default2.aspx
/WebSite1test
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString1=2
/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2
Вы можете копировать вставить выше пример кода & запустить его в asp.net веб-формы приложения с различными URL.
Я также рекомендую читать маршрутизацию ASP.Net, если вы можете использовать ASP Routing, тогда вам не нужно использовать традиционный URL-адрес с строкой запроса.
http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx
наконечник для тех, кто нуждается путь/URL в global.asax файле;
Если вам нужно запустить это в global.asax> Application_Start и вы режим приложений пула интегрированы то вы получите ошибку ниже:
запрос не доступен в этом контексте исключения в Application_Start.
В этом случае вы должны использовать это:
System.Web.HttpRuntime.AppDomainAppVirtualPath
Надежда поможет другим ..
запрос. rawurl предоставит содержимое текущей страницы , он даст точный путь, который вам нужен
HttpContext.Current.Request.RawUrl
- 1. Как получить html текущей страницы?
- 2. Получить родительские страницы текущей страницы в расширении
- 3. Как получить заголовок текущей страницы в jsf
- 4. Как получить URL текущей страницы в MediaWiki
- 5. Как получить имя текущей страницы в JSP?
- 6. Получить URL-адрес текущей страницы в C# с помощью AngularJS
- 7. Как получить название текущей страницы с WooCommerce
- 8. Расширение браузера - Как получить URL текущей страницы
- 9. Как получить URL текущей страницы во Flash
- 10. Получить HTML-источник текущей страницы в C# Windows Forms App
- 11. Получить URL-адрес текущей страницы в ASP.net
- 12. Получить список категорий текущей страницы в MediaWiki
- 13. Получить полный URL текущей страницы в JSPF
- 14. получить значение элемента текущей страницы в PHP
- 15. Получить название текущей страницы в wikipedia
- 16. Получить имя папки для текущей страницы ASP.NET C#
- 17. Как получить исходный код текущей страницы как переменной в php
- 18. Django - Получение текущей страницы
- 19. Получение текущей страницы
- 20. Расширение Chrome: Получить кодировку текущей страницы
- 21. получить HTML текущей страницы без ViewState ASP.Net
- 22. Получить параметр текущей страницы после SetNavigationState
- 23. получить адрес текущей страницы со строкой запроса
- 24. Получить положение меню Wordpress текущей страницы
- 25. Получить угловой контроллер текущей html-страницы
- 26. Получить pdf текущей страницы MVC 5
- 27. Gravity Forms - Получить номер текущей страницы
- 28. Настройка текущей страницы как главной страницы
- 29. Как получить содержимое текущей веб-страницы в библиотеке mpdf
- 30. Как получить PdfWriter для текущей страницы в многостраничном документе?
@ Gordon Итак, что это? Вы отметили этот вопрос как дубликат ... ВОПРОС, КОТОРЫЙ ВЫ ПОЗВОЛИЛИ, ЧТО ТАКОЕ ДУБЛИКАТ СЛИШКОМ, ОДИН МИНУТ ПОЗЖЕ. Возможно, нам нужен запрос функции, чтобы StackOverflow добавлял «no follow» к отмеченным дубликатам, потому что все, что я хотел, было ответом, и поисковая система сначала привела меня сюда. Однако я не буду делать такой запрос, чтобы он не был помечен как дубликат. :( –
@MarkAllen не уверен, почему вы кричите на меня, если вы будете следовать за обманами, вы в конечном итоге станете самым старым вопросом (я мог бы найти тогда), спрашивая об этом. Что из этого? Ну, все они. Неважно, где вы оказались в поиске. На этой странице вы получите 14 ответов, закрытое против одного дает вам 15, а оригинал дает вам еще 11. Если я не буду закрывать их, вы получите только 14, а не 40. Обратите внимание, что у вас есть менее 10 тыс. репутации, поэтому вы не видите удаленных. – Gordon
@Gordon Извините, если колпаки вас обидели. Было бы неплохо, если бы обманы могли быть выставлены на одной объединенной странице. –