![]() |
|
Модераторы: gambit |
![]()
|
|
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: 1 Всего: 1 |
Здарвствуйте!
Сделал код который должон добавлять на плэйсхолдер кнопку и обрабатывать клик по ней но почему-то код не работает...
|
|||
|
||||
| ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 1 Всего: 149 |
Не знаю как в VB.Net (Тебе в соседний форум), но в C# делается так
+= добавляет новый обработчик к событию Click Добавлено @ 19:11 Раскопал в рефлекторе такую штуку:
|
||||
|
|||||
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: 1 Всего: 1 |
Дык вот AddHandler делает в VB тоже самое по идее.
Я немогу понять, почему событие не срабатывает я ведь явно сказал что при клике кнопки выполнять AutoriseBTN_Click По идее регистрировать новое событие для кнопки не надо - оно ведь наследуется или нет? Зы. Здесь написал именно потому что все происходит на asp.NET страничке - а тама обычно есть своя специфика... http://leaders.mtcentr.ru/user.aspx - вот тут на второй странице мастера все и происходит... Это сообщение отредактировал(а) JaguarSmith - 29.4.2006, 20:22 |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 1 Всего: 149 |
Не то отрефракторил, сорри. Добавление события на VB выглядит так:
Может в этом и проблема, что ты не поставил New EventHandler(? |
|||
|
||||
| JaguarSmith |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: 1 Всего: 1 |
Сделал вот так:
НО похоже все-равно не работает... Может я просто принципиально делаю что-то не так? У мну при загрузке в плейсхолдере первый шаг мастера, Далее когда введены и проверены данные происходит Placeholder1.Controls.Clear() и в этом жы плейсхолдере рисуется второй шаг мастера с этой самой кнопкой. Но вот при нажатии на кнопку вместо обработки события происходит что-то странное - в плейсхолдер опять грузится содержание шага 1... Плэйсхолдер правда принудительно натянут на первый шаг мастера:
Это сообщение отредактировал(а) JaguarSmith - 30.4.2006, 14:53 |
||||
|
|||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 1 Всего: 149 |
А у мну все работает
Правда на C# и без хитростей: P.S. Слушай... оно скорее всего так: При отправке клика на обработку ASP.NET перегружает страницу и из-за этого и начинается опять первый шаг. Пожно проверять свойство Page.IsPostBack, либо, если шагов больше 2, то введи переменную Step в которой и считай текущий шаг А далше все if-ом или switch-ом |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 9 Всего: 186 |
Просьба не использовать понятие рефакторинг в промышленных целях
Ужас, ну и код. Первый код полностью правильный. Проблема в чём-то другом. |
|||
|
||||
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: 1 Всего: 1 |
Ну вот так vs представляет себе хороший код, я конечно понимаю, что по уму его надь ручками но времени небыло - хотелось быстро набросать а потом доделать при случае, а вот не получилось... 8 ( Вот я и спрашиваю: подскажите люди добрые в чем проблема? Зы. А где всевидящее око? - у мну вместо юпика тока крестик... Это сообщение отредактировал(а) JaguarSmith - 30.4.2006, 19:57 |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 1 Всего: 149 |
Я ж написал возможную проблему. Может еще быть вариант: Как я понял, у тебя работает мастер, снимающий данные без перегрузки страницы. Так? Этому процессу может мешать автоматичесое послание запроса при нажатии на кнопку. Точно, только что протестил Вот только не смог отключить автоматический запрос |
|||
|
||||
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: 1 Всего: 1 |
Спасибо ivashkanet!
Скорее всего как закончатся праздники просто перетащу проект на ASP.NET 2 - я в VS2005 - видел какой-то компонент для создания мастеров(заодно начну рабираться с vs2005 = ) ... Зы. а ващето - тут похоже на конкретную недоработку мелкомягких - код то корректный а вот не работаит... |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Никаких недоработок тут нет. Просто ты не доделал реализацию мастера. Тебе надо ввести понятие "Номер текущей страницы", и не пересоздавать кнопку "Next", а в зависимости от текущей позиции прицеплять к ней соотв.обработчик, или менять логику. И есессно проверять Page.IsPostBack - если оно False, то страница открывается первый раз, и ты свой мастер должен проинициализировать. А дальше дело техники. Пробуй, если что - помогу. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 1 Всего: 149 |
Хочу чуть-чуть (самую малость Удобнее сделать мастер (тем более простой) который не требует перезагрузки страницы, вот только как не отправлять данные на сервер после клика. P.S. arilou, с возвращением. Давно тебя небыло P.P.S. Я это все писал выше |
|||
|
||||
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: 1 Всего: 1 |
Спасибо за помошь arilou. Если реализовывать все с проверкой Page.IsPostBack то надо кардинально переделывать весь мастер - всё дело в том, что первый шаг я "впаял" в код самой страницы и при сбросе он грузится всесте со страницей...
Я все-таки пошёл по пути неизобретения велосипеда и воспользовался компонентом wizard из vs2005 - он решил все проблемы и теперя осталось тока попросить хостера сделать мне приложение ASP.NET 2.0. Единственный затык с ним это как сделать чтобы при нажатии кнопки "NEXT" отменить переход к следующему шагу если значение какого-то поля неправильное(Я имею ввиду не банальный валидатор(с ними я быстренько разобрался), а что-то более серьезное что требует обработки на серверной стороне). В MSDN 2005 ответ ненашелся (ИМХО MSDN - стал совсем запутанным и непонятным - раньше по F1 выдавалось хоть что-то имеющее отношение к тому что выделено в тексе кода... А может я просто пока не разобрался с настройками = ) Зы. Ещё раз огромное спасибо ivashkanet и Exception!!! ЗЗы. Про Page.IsPostBack запомнил на будущее! 8 ) |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 1 Всего: 149 |
Просто отследи это, и банальным if-ом оставь на текущем шаге И, ИМХО, у CustomValidator есть серверная проверка условия. Поищи. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 9 Всего: 186 |
Полетел мой аватарчик.. Надо восстановить. А по теме - валидаторы и на сервере проверку устраивают.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |