![]() |
|
Модераторы: gambit |
![]()
|
|
| Nickname |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Вопрос состоит в следующем: У меня есть пользовательский контрол, который я подключаю на странице. Потом в этом контроле меняю общедоступное свойство, а на странице пытаюсь его прочитать. Но прочитанное свойство имеет не то значение, которое реально ему присвоено.
Я как понимаю, что в событии страницы Page_Load еще рано читать свойство. Так когда правильно? Страница:
Контрол:
Выдает все время:
|
||||||
|
|||||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Не рано будет в Render и PreRender.
|
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
А как правильно объявить эти события? А нельзя никак по хитрому сделать чтобы в Page_Load читалось? Или можно как-то узнать, что контрол полностью загружен, а потом прочитать свойство?
Это сообщение отредактировал(а) Nickname - 20.11.2007, 19:18 |
|||
|
||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Я не спец в асп, но знаю, что что все события идут по очереди и у каждого есть свое назначение.
Что-то вроде такого: Инит, Лоад, ПреРендер, Рендер - и еще куча между ними. После Лоад становятся доступными ВьюСтейты елементов. |
|||
|
||||
| Mymik |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Nickname, я тебе советую воспользоваться событиями в asp.net
А именно. Объявить метод, который будет обрабатывать все это дело. А в твоем контроле создать поле типа
В родительском контроле при OnLoad присваивать типа
После чего. В Page_Load того контрола, который тебе нужен делать следующее
И так у тебя все будет замечательно работать и обновляться... P.S. переходи на событийно-ориентированное программирование ;) -------------------- |
||||||
|
|||||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Mymik, сделал все как вы сказали - работает. Свойство считывается нормально в событии UpdateEvent, но как мне быть в такой сетуации: контрол который я написал служит для проверки, введенного пользователем логина/пароля и, если проверка прошла успешно, то выставляет одно из своих свойств в true, которое в дальнейшем должно считываться родительской страницей. Ведь как я понимаю к моменту Page_Load свойство уже должно быть прочитано, что бы можно было осуществлять вывод той или иной информации на странице. Может логика последовательности действий не верна в данном случае, помогите тогда разобраться как надо?
|
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Nickname, PageLoad вызывается сначала для Parent контрола, а потом для Child контрола(в отличие от Init). Так что тебе никак нельзя обойтись тут без событий.
Тебе по-любому нужно вызывать событие непосредственно в child контроле, которое будет в Parent Control изменять нужные тебе данные. -------------------- |
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Наверно засунуть аутентификацию в контрол не лудшее решение - буду думать по другому...
|
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
нет, почему, вполне нормальное решение. Просто не бойся использоваться события... это очень мощный инструмент .NET Framework.
Просто после того как пользователь залогинился, ты можешь доставать все данные из HttpContext.Current.User и тебе не нужно будет никаких хитрых изворотов. -------------------- |
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
А можно про это по подробнее? |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
А что тут подробнее то... вроде бы и рассказывать нечего. Пишешь в своем проекте эту строчку, ставишь точку и наблюдаешь там некоторые полезные методы... вообще это метод из asp.net 1.1, но он мне нравится -------------------- |
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
А как сделать так, что бы пользователь стал авторизованным (что бы в этих свойства стали заполнеными)? Это что-то связанное с авторизацией через forms?
|
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
да. пользуйся поиском -->> КЛАЦ -------------------- |
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Теперь дальше не понятно.
Если несколько страниц используют один и тот-же контрол аутентификации, что же мне указывать в loginUrl?
|
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Пока решил эту проблему, использованием сессий: в контроле устанавливаю сессии, а на родительской странице читаю, и если не пустые, то значит пользователь прошел авторизацию. Все работает.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |