2009-09-25 2 views
0

Я использую MasterPage с динамической панелью меню на странице. Если пользователь запросил перенаправление на страницу входа (дома), я не хочу их выводить, но я хочу скрыть панель меню. В настоящее время я использую проверку подлинности пользователя для контроля, если панель меню видна или нет.Как я могу узнать, что URL-адрес назначения при запросе перенаправления?

В принципе, я хочу всегда скрывать панель меню, когда на странице входа. Меню отображается до самой страницы, поэтому мне нужно иметь возможность прочитать запрос на перенаправление, чтобы узнать, является ли страница входа в систему точкой назначения. Я пробовал поле Response.RedirectLocation, но это кажется нулевым.

Как определить, что такое запрос перенаправления?

ответ

0

Я думаю, что вы делаете это более сложным, чем это должно быть.

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

Вот ссылка на статью MSDN, объясняющей, как выставить главную страницу:

http://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx

EDIT: Вы должны назвать вам что-то класс Masterpage как MyMasterPage. Затем убедитесь, что ваше наследуют свойство в странице вашего Учителя Aspx правильно:

Inherits="Your.Name.Space.MyMasterPage" 

Затем на странице контента вы должны просто добавить следующее:

<%@ MasterType TypeName="Your.Name.Space.MyMasterPage" %> 

Наконец вы можете получить доступ что-нибудь в ваших мастерах страница с тех пор, как вы уже определили ее тип:

Master.CallYourFunction(); 

Это должно заставить вас работать, если вы выполните следующие действия.

+0

Звучит разумно, я попробую это. Спасибо – James

+0

Мне удалось определить публичный Sub на главной странице, но я не определился с логической страницей.Страница входа в систему ссылается на мастер в ASPX. Что я делаю не так? – James

+0

Если ваша главная страница называется «MyMasterPage», вам нужно будет сделать это на странице входа: ((MyMasterPage) Master) .HideMenuFunction(). –

0

сделать редирект отправить оригинальный URL в качестве параметра URL как

&origurl=http://www.domain.com/original_page 
0

Если вы просто ЗАС скрыть строку меню на странице входа, то оно не будет трудно. Что вы можете сделать, так это положить Manu bar внутри ContentPlaceHolder в Mater Page. На странице входа в систему вы можете просто добавить пустой контент, который переопределит меню ContentPlaceholder с главной страницы.

<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" Runat="Server"> 

Вот декларативный синтаксис на Mater странице

<asp:ContentPlaceHolder id="MenuContent" runat="server"> Your Menu goes here </asp:ContentPlaceHolder> 

Сейчас на других страницах, которые вы делаете не должны переопределить содержимое по умолчанию, который показывает меню с Mater страницы, где вам нужно, чтобы отобразить меню ,

Подробнее о переопределении содержимого по умолчанию Mater Page по умолчанию Here.