2010-08-23 4 views
1

У меня есть главная страница и внутри этой главной страницы. Я должен проверить, является ли сеанс нулевым или нет. Если сеанс равен NULL, тогда необходимо перенаправить на страницу входа в систему.ASP.NET masterpage Response.Redirect перед дочерним вызовом

Это не проблема, но проблема в том, что главная страница также имеет элементы управления, использующие сеанс, а дочерний элемент также использует сеанс, поэтому я получаю nullureferenceexception.

теперь у меня есть это:

protected void Page_init(object sender, EventArgs e) 
{ 
    var session = (ServiceSession)Session["serviceSession"]; 

    if (session == null) 
    { 
     Response.Redirect("login.aspx", false); 
    } 
} 

Но проблема заключается в том, что элементы управления на MasterPage также называют вместо перенаправлять немедленно.

Итак, главный вопрос:

Как можно перенаправить немедленно, без загрузки дополнительных вещей. Поскольку page_init вызывается как первый метод, перенаправление должно решить мое исключение nullreference, но мне не нужно загружать все компоненты и т. Д.

Заранее спасибо!

ответ

2

Вы пытались установить второй параметр своего Response.Redirect в true, чтобы остановить выполнение страницы?

+0

Спасибо ... Это сделал трюк ... Я забыл, потому что я печатаю ложь по умолчанию в операторе Перенаправление ;-) – CyberK

0

Вы можете использовать для этого Page_PreInit

частной ничтожной Page_PreInit (объект отправителя, EventArgs е) {

Response.Redirect ("login.aspx", ложь);

}

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