![]() |
|
Модераторы: gambit |
![]()
|
|
| fullmoon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| Lunatic2009 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 1.7.2009 Репутация: 2 Всего: 3 |
Во втором случае if выполняется только один раз, вы заходите на страницу, у вас выполняется ваш if, далее при PostBack вы проверяете, если это не PostBack тогда..., а т.к это PostBack условие в if - неверно.
Это сообщение отредактировал(а) Lunatic2009 - 15.10.2009, 07:55 |
|||
|
||||
| fullmoon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 27.8.2009 Репутация: нет Всего: нет |
Не понял ответа.
Проблема в том, что во втором случае не вызывается обработчик события lb_Click() даже при первом запросе страницы, т.е. он ка ба не присваивается. При первом запросе страницы на ней пояляется LinkButton, при клике на LinkButton выполняется PostBack, но LinkButton не вызывается. Добавлено через 3 минуты и 37 секунд Может быть имеется в виду, что т.к. контрол динамический при PostBack он не создается следовательно и методы его не вызываются. Но что тогда делать? |
|||
|
||||
| Lunatic2009 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 1.7.2009 Репутация: 2 Всего: 3 |
Динамически созданному контролу нужно каждый раз назначать обработчик событий в Page_Load.
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
По-хорошему, если контролы создаются динамически - то это надо делать:
1. При каждом запросе к странице 2. В Page_Init |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |