2012-02-22 3 views
0

Мне интересно, есть ли способ сообщить, какая страница главной страницы запускается из: Например, если default.aspx - это первая страница для загрузки и то он переходит на главную страницу, есть ли способ узнать на главной странице, что ребенок был Default.aspx?Как узнать, на какую дочернюю страницу контента вызывается из MasterPage

То, что я пытаюсь сделать, - это когда клиент попадает на страницу «Default.aspx», и они щелкают по дереву, чтобы автоматически взять их «Главная страница», но если они снова нажмут на дерево «Домашняя страница», чтобы оставаться на «Домашней странице», поэтому переадресовывайте один раз, когда вы делаете первый выбор в Default.aspx.

Благодарим за помощь.

+0

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

+0

Спасибо ... Я просто не знал лучшего названия :) –

ответ

2

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

+0

Проверяйте мое обновленное сообщение, возможно, вы можете получить больше понимания того, что я пытаясь сделать. Спасибо за ваш ответ. –

+0

Но это означает, что мастер-страница должна «знать» особые вещи о страницах, которые ее используют. Я думаю, вам лучше, если ваши страницы общаются с главной страницей, чтобы включить/отключить ссылки по своему усмотрению. – n8wrl

+0

Ну, страница «Главная» будет содержать список данных на основе выбора, сделанного на древовидной структуре. Таким образом, они могут изменить свой выбор дерева в любое время, находясь на домашней странице, и страница должна быть обновлена ​​только на домашней странице, отображающей разные данные. Но когда они сначала открывают страницу, они находятся на странице «Добро пожаловать», поэтому, когда они делают свой первый выбор, она перенаправляет их на «Домашняя страница». –

0

Default.aspx - это страница, это означает, что она содержит главную страницу и содержимое. Если вы хотите передать данные между страницей содержания и мастерами, вы можете Proced что-то вроде этого:

Построить собственный MasterPage (A Masterpage, который унаследует MasterPage)

public class MyMasterPage : MasterPage { 
//methods, properties, etc 

    public string MyInfo {get; set;} 
    } 

} 

и Материалов вы маи назвать это свойство как это:

((MyMasterPage)Page.masterPage).MyInfo = "default.aspx" 
1

Попробуйте это в методе Master Page Page_Load:

String ChildPage; 

ChildPage = System.IO.Path.GetFileName(Request.FilePath); 
+0

Эй, это хорошо, чем один, и +1 для этого –

Смежные вопросы