Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработчик события динамического контрола 
:(
    Опции темы
fullmoon
Дата 15.10.2009, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.8.2009

Репутация: нет
Всего: нет



lb_Click(){
   ...
}

Так работает

protected void Page_Load(object sender, EventArgs e)
    {
        TableRow tr = new TableRow();
        TableCell tc = new TableCell();
        LinkButton lb = new LinkButton();
        lb.Click += lb_Click;
        lb.Text = "XXX";
        //Page.Form.Controls.Add(lb);
        tc.Controls.Add(lb);
        tr.Cells.Add(tc);
        Table1.Rows.Add(tr);
    }

А так нет

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TableRow tr = new TableRow();
            TableCell tc = new TableCell();
            LinkButton lb = new LinkButton();
            lb.Click += lb_Click;
            lb.Text = "XXX";
            //Page.Form.Controls.Add(lb);
            tc.Controls.Add(lb);
            tr.Cells.Add(tc);
            Table1.Rows.Add(tr);
        }
    }

Херомантия http://forum.vingrad.ru/html/emoticons/pack/wizard.gif
PM MAIL   Вверх
Lunatic2009
Дата 15.10.2009, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 1.7.2009

Репутация: 2
Всего: 3



Во втором случае if выполняется только один раз, вы заходите на страницу, у вас выполняется ваш if, далее при PostBack вы проверяете, если это не PostBack тогда..., а т.к это PostBack условие в if - неверно.

Это сообщение отредактировал(а) Lunatic2009 - 15.10.2009, 07:55
PM   Вверх
fullmoon
Дата 15.10.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.8.2009

Репутация: нет
Всего: нет



Не понял ответа.

Проблема в том, что во втором случае не вызывается обработчик события lb_Click() даже при первом запросе страницы, т.е. он ка ба не присваивается. При первом запросе страницы на ней пояляется LinkButton, при клике на LinkButton выполняется PostBack, но LinkButton не вызывается.

Добавлено через 3 минуты и 37 секунд
Может быть имеется в виду, что т.к. контрол динамический при PostBack он не создается следовательно и методы его не вызываются. Но что тогда делать?
PM MAIL   Вверх
Lunatic2009
Дата 15.10.2009, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 1.7.2009

Репутация: 2
Всего: 3



Динамически созданному контролу нужно каждый раз назначать обработчик событий в Page_Load.
PM   Вверх
Любитель
Дата 15.10.2009, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



По-хорошему, если контролы создаются динамически - то это надо делать:
1. При каждом запросе к странице
2. В Page_Init


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.