Как найти URL родительской страницы пользовательского элемента управления - PullRequest
10 голосов
/ 12 августа 2011

У меня есть пользовательский элемент управления, в котором при выполнении определенного действия я хочу перенаправить на страницу, на которой находился пользователь, с некоторыми дополнительными параметрами строки запроса.

Итак, если UserControl.ascx был на Home.aspx, я хочу перенаправить на Home.aspx? Action = true, а если UserControl.ascx был на Profile.aspx, я хочу перенаправить на Profile.aspx? action = true

Так что в основном в моем UserControl.ascx.cs я хочу получить URL родительской страницы.Как я могу получить это?

Ответы [ 4 ]

14 голосов
/ 12 августа 2011

Вы можете посмотреть на Request.Url, Request.RawUrl, Request.FilePath и некоторые другие подобные свойства объекта Request - в зависимости от того, как вы его используете.

Это даст вам запрошенный URL-адрес из браузера, который, в свою очередь, сообщит вам, на какой странице находится ваш элемент управления.

2 голосов
/ 12 августа 2011

У вас все еще есть доступ к объекту запроса из пользовательского элемента управления, поэтому сделайте что-то вроде этого:

string currentUrl = Request.Url.AbsoluteUri.ToString();
1 голос
/ 12 августа 2011

Request.UrlReferrer получит вам URL предыдущей страницы ... обычно.В некоторых ситуациях он может быть пустым:

  • ссылки, щелкнувшие из сообщения электронной почты
  • ярлыки, сохраненные на рабочем столе
  • поддельные URL
  • возможно, некоторые настройки или браузеры
  • возможно, также и другие сценарии

Пока ваш код "хорошо играет", когда UrlReferrer пуст или недействителен, вы должны хорошо идти.

0 голосов
/ 27 апреля 2016
Request.Url.Scheme + "://" + Request.Url.Host  + Request.RawUrl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...