Фильтрация содержимого главной страницы по отношению к странице asp - PullRequest
1 голос
/ 05 мая 2011

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

Ответы [ 3 ]

0 голосов
/ 05 мая 2011

У вас может быть свойство отображать или скрывать меню на главной странице.

как

public void ShowMenu
{
    get { return Menu.Visible; }
    get { Menu.Visible = value; }
}

Примечание: если меню статическое, вы можете заключить его в элемент управления PlaceHolder иуправлять показом / скрытием его с помощью этого элемента управления.Я выбрал этот конкретный элемент управления, чтобы он предлагал, поскольку он не отображает дополнительный HTML, поэтому на странице ничего не меняется.

.

Затем на странице входа произнесите Page Load или что-то еще (не доinit или такие ранние времена, чтобы главная страница уже была создана):

protected void Page_Load(object sender, EventArgs e)
{
    var siteMasterPage =  Page.Master as SiteMasterPageClassName;
    if(siteMasterPage != null) siteMasterPage.ShowMenu = false;
}

.

Обновление

Другой способ решить это -есть вложенные мастер-страницы.Дочерняя главная страница имеет меню и другие элементы и является главной страницей по умолчанию для всех страниц.Родительская главная страница содержит все важные элементы, которые применимы даже к странице входа.

Если у вас уже есть главная страница, вы можете создать другую, переместить большинство материалов на другую со своей существующей главной страницы.используйте те же идентификаторы для заполнителей содержимого, а затем установите для самой существующей главной страницы файл мастер-страницы, установленный на новый, и затем будет легко перейти на страницу входа и также изменить имя файла мастер-страницы нановый файл главной страницы.

0 голосов
/ 05 мая 2011

Получить элемент управления меню и установить его свойство Visible в false Предупреждение: этот товар находит элемент управления с жестко закодированным идентификатором, поэтому он может вызвать исключение NullReferenceException

Menu menu = Page.Master.FindControl("Menu1");
menu.Visible = false;
0 голосов
/ 05 мая 2011

Вы можете сделать следующее. Поместите это в код главной страницы.

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Url.AbsoluteUri.Contains("Login.aspx"))
    {
        //Disable Menu here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...