Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Привет. Создаю динамически кнопку, потом навешиваю обработчик для ее события Click, и оно не срабатывает. В чем проблема не пойму, мистика какая-то. Вот код Кнопка: System.Web.UI.WebControls.Button btn = new System.Web.UI.WebControls.Button(); btn.Click += new System.EventHandler(this.OnFormBtnClick); Обработчик (в этом же классе):private void OnFormBtnClick(object sender, EventArgs e) { MessageBox.Show("Hello!"); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 18:27 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Забыл сказать, что кнопка потом добавляется на ранее созданную статически панель: pnl.Controls.Add(btn); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 18:28 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Silberman: Привет. Создаю динамически кнопку, потом навешиваю обработчик для ее события Click, и оно не срабатывает. В чем проблема не пойму, мистика какая-то. Вот код где создаете? Кнопка: System.Web.UI.WebControls.Button btn = new System.Web.UI.WebControls.Button(); btn.Click += new System.EventHandler(this.OnFormBtnClick); Обработчик (в этом же классе):private void OnFormBtnClick(object sender, EventArgs e) { MessageBox.Show("Hello!"); } Это для winformsВсе должно быть просто, очень просто, настолько просто - насколько это возможно! Мой блог Возможно на твой вопрос уже есть ответ? FAQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 18:29 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
А как сделать для asp.net ? ведь у web кнопки нет свойства onClick как это написано в тэге кнопки в коде разметки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 18:45 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
SilbermanА как сделать для asp.net ? ведь у web кнопки нет свойства onClick как это написано в тэге кнопки в коде разметки Вам наверное стоит привести полный кусок вашего кода - по двум линиям из вашего сообщения нельзя дать конкретный реально работающий совет - только на догадках, а догадки у всех разные :-). Так что давайте код быстрее если хотите помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 19:19 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Создаю на странице Panel (в коде Panel1), затем внутри этой панели создаю динамически контролы (TextBox и Button). Теперь мне нужно обработать нажатие этой кнопки. Как это сделать, ведь контрол создан динамически ? Вот код:protected void Page_Load(object sender, EventArgs e) { TextBox tb = new TextBox(); tb.ID = "tb1"; Panel1.Controls.Add(tb); Button btn = new Button(); btn.Text = "GO"; btn.ID = "btn1"; Panel1.Controls.Add(btn); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 19:33 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
SilbermanСоздаю на странице Panel (в коде Panel1), затем внутри этой панели создаю динамически контролы (TextBox и Button). Теперь мне нужно обработать нажатие этой кнопки. Как это сделать, ведь контрол создан динамически ? Вот код:protected void Page_Load(object sender, EventArgs e) { TextBox tb = new TextBox(); tb.ID = "tb1"; Panel1.Controls.Add(tb); Button btn = new Button(); btn.Text = "GO"; btn.ID = "btn1"; Panel1.Controls.Add(btn); } Все равно немного непонятна проблема. Я попробовал под ASP.NET 1.1 - добавил ... btn.Click += new System.EventHandler(this.OnFormBtnClick); ... И все срабатывает - обработчик вызывается. Опять же, все и должно работать - ведь если вы для примера разместите Button на форме и прицепите к нему событие Click через Events экран, то автоматически добавится линия this.Button1.Click += new System.EventHandler(this.Button1_Click); к функции private void InitializeComponent(); то бишь - при динамическом создании Button нужно сделать то же самое, как если бы это делалось в дизайнере экрана. Или я чего то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 21:18 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Если проводить аналогию с WindowsForms, то да. Я от этого и отталкивался, когда пытался реализовать эту задачу. Обработчик не срабатывает и все тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 11:48 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
SilbermanЕсли проводить аналогию с WindowsForms, то да. Я от этого и отталкивался, когда пытался реализовать эту задачу. Обработчик не срабатывает и все тут. Я никакой аналогии с WebForms не провожу - весь код был проверен мной под ASP.NET 1.1 - обработчик отрабатывает без проблем. Если хотите, чтобы я поучаствовал, приведите код вашего модуля полностью - я посмотрю в VS 2003 и чем смогу - помогу. Пока же у нас диалог как у заказчика с исполнителем - у исполнителя все работает, а у заказчика нет. Может у них исходники разные? :-). Вообщем, если интересно и нужен взгляд с другой стороны - приложите модуль(и) где вы думаете должно срабатывать, но не срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 20:09 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Да, действительно, Вы правы, обработчик срабатывает, но только в том случае, если кнопку формировать в методе Page_Load(). Если, например, кнопку добавлять на панель в любом другом методе, скажем в каком-нибудь обработчике любого другого контрола, то обработчик нажатия кнопки не срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 15:15 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Например, помещаю на форму статическую кнопку из тулбокса и пишу обработчик на ее нажатие, а в этом обработчике создаю динамически кнопку: protected void Button1_Click(object sender, EventArgs e) { System.Web.UI.WebControls.Button btn = new System.Web.UI.WebControls.Button(); btn.Text = "GO"; btn.ID = "btn1"; Panel1.Controls.Add(btn); btn.Click += new System.EventHandler(this.OnFormBtnClick); } private void OnFormBtnClick(object sender, EventArgs e) { MessageBox.Show("Hello!"); } Обработчик нажатия OnFormBtnClick не срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 15:20 |
|
||
|
Не срабатывает событие Click для кнопки
|
|||
|---|---|---|---|
|
#18+
Решил проблему. Сначала в Page_Load создал кнопку на другой, рядом лежащей панеле, сделал ее visible = false и приписал обработчик для события Click тут же. А когда надо кнопку показать где-то за пределами Page_Load, делаю visible=true. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 18:58 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=34125155&tid=1387587]: |
0ms |
get settings: |
10ms |
get forum list: |
25ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 424ms |

| 0 / 0 |
