Как определить, какая дочерняя страница отображается на главной странице? - PullRequest
21 голосов
/ 06 ноября 2008

Я пишу код на главной странице, и мне нужно знать, какая дочерняя (контентная) страница отображается. Как я могу сделать это программно?

Ответы [ 16 ]

0 голосов
/ 11 мая 2015
string s =   Page.ToString().Replace("ASP.directory_name_","").Replace("_aspx",".aspx").Replace("_","-");
        if (s == "default.aspx")
              { /* do something */ }
0 голосов
/ 14 октября 2013

Вы можете попробовать это:

<%: this.ContentPlaceHolder1.Page.GetType().Name.Split('_')[0].ToUpper() %>

Поместите этот код в теги title Site.Master

0 голосов
/ 27 марта 2013

Вы можете сделать это, получив последний сегмент или запрос, и я буду именем формы

string pageName = this.Request.Url.Segments.Last(); 

if (pageName.Contains("EmployeeTermination.aspx"))
{

}
0 голосов
/ 06 ноября 2008

Вы можете проверить тип страницы в коде позади:

// Assuming MyPage1, MyPage2, and MyPage3 are the class names in your aspx.cs files:

if (this.Page is MyPage1)
{
  // do MyPage1 specific stuff
}
else if (this.Page is MyPage2)
{
  // do MyPage2 specific stuff
}
else if (this.Page is MyPage3)
{
  // do MyPage3 specific stuff
}
0 голосов
/ 06 ноября 2008

Я делаю нечто похожее на это в моем проекте, чтобы динамически прикреплять CSS-файлы в зависимости от загружаемой страницы. Я просто получаю имя файла из запроса:

this.Request.Url.AbsolutePath

А затем извлеките имя файла оттуда. Я не уверен, будет ли это работать, если вы делаете перезапись URL, хотя.

0 голосов
/ 06 ноября 2008

Page.Request.Url.PathAndQuery или одно из других свойств объекта Url Uri должны быть доступны вам из кода главной страницы.

...