ASP.NET — Текущее название страницы из веб-пользовательского элемента управления?

#asp.net #controls

#asp.net #элементы управления

Вопрос:

Мне нужно узнать название местоположения, в котором находится веб-пользовательский элемент управления. Что-то вроде HttpContext.Current.Запрос.Url.toString(), но я получаю только страницу для этого веб-пользовательского элемента управления.

Ответ №1:

Запрос.Url.Segments выдаст вам массив строк. Последний элемент — это страница

Комментарии:

1. Я использовал это, чтобы получить страницу: var page = Request.Url.Segments.Last();

2. Последний элемент — это название страницы.

Ответ №2:

Вы должны попробовать Request.Url.LocalPath свойство

 string fileNameFromLocalPath = Path.GetFileName(Request.Url.LocalPath);
  

Ответ №3:

Этот код помогает:

 string filename = Path.GetFileName(Request.Url.AbsolutePath);
  

Ответ №4:

Если вы попросите Page.getType.name вы получите имя основного элемента, страницы aspx. если вам нужно имя элемента управления ascx, над которым вы работаете, используйте меня.GetType.Name .toString если ваш элемент управления находится в каталоге MyDir, а имя вашего ascx — test.ascx, то результат будет

«ASP.MyDir_test_ascx»

Ответ №5:

Вы также можете использовать (VB.Net ):

 Dim pageName as String = Page.GetType().Name
  

который заменяет .extension символом подчеркивания

Таким образом, из Default.aspx вам будет возвращен Default_aspx

Вы также можете использовать:

 Dim pageName as String = CType(HttpContext.Current.CurrentHandler, Page).GetType().Name
  

Что приведет к тем же результатам, что и описано выше.