Динамически создать серверный элемент управления
От: Whistler Россия Блог на GotDotNet.ru
Дата: 20.02.05 15:54
Оценка:
Создаю динамически серверный элемент управления:

   TextBox child = new TextBox();
   child.ID = "TextBox1";
   child.AutoPostBack = true;
   child.TextChanged +=new EventHandler(child_TextChanged);
   Panel1.Controls.Add(child);


Как видите, назначаю ему обработчик события, событие нифига не работает... Как можно заставить элемент управления пожить чуток побольше, чтобы произошло событие и с sender можно было считать значение поля Text ??

Заранее спасибо!
Re: Динамически создать серверный элемент управления
От: ForAll_k  
Дата: 20.02.05 15:58
Оценка:
Здравствуйте, Whistler, Вы писали:

W>Создаю динамически серверный элемент управления:


W>
W>   TextBox child = new TextBox();
W>   child.ID = "TextBox1";
W>   child.AutoPostBack = true;
W>   child.TextChanged +=new EventHandler(child_TextChanged);
W>   Panel1.Controls.Add(child);
W>


W>Как видите, назначаю ему обработчик события, событие нифига не работает... Как можно заставить элемент управления пожить чуток побольше, чтобы произошло событие и с sender можно было считать значение поля Text ??


W>Заранее спасибо!

в каком событии создается контрол ?
Re: Динамически создать серверный элемент управления
От: Saintdmitry  
Дата: 20.02.05 15:59
Оценка: -1
Здравствуйте, Whistler, Вы писали:

W>Как видите, назначаю ему обработчик события, событие нифига не работает... Как можно заставить элемент управления пожить чуток побольше, чтобы произошло событие и с sender можно было считать значение поля Text ??


Надо использовать htmlcontrols
Re[2]: Динамически создать серверный элемент управления
От: Whistler Россия Блог на GotDotNet.ru
Дата: 20.02.05 16:07
Оценка:
Здравствуйте, ForAll_k, Вы писали:

FA_>Здравствуйте, Whistler, Вы писали:


W>>Создаю динамически серверный элемент управления:


W>>
W>>   TextBox child = new TextBox();
W>>   child.ID = "TextBox1";
W>>   child.AutoPostBack = true;
W>>   child.TextChanged +=new EventHandler(child_TextChanged);
W>>   Panel1.Controls.Add(child);
W>>


W>>Как видите, назначаю ему обработчик события, событие нифига не работает... Как можно заставить элемент управления пожить чуток побольше, чтобы произошло событие и с sender можно было считать значение поля Text ??


W>>Заранее спасибо!

FA_>в каком событии создается контрол ?

Пока пробовал так: кинул на форму кнопку и на нажатие этой кнопки создается контрол.

Этот контрол живет только до следующей загрузки страницы — но это и не важно...

Весь смысл в чем: у меня массив, его размеры я заведомо не знаю, я создаю в зависимости от размера массива столько, сколько нужно контролов, и заполняю из значениями из массива... при изменении значения хотябы в одном массиве, мне надо чтобы произошло событие — я в событие узнал от какого именно контрола оно пришло, и заменить соответствующее значение в массиве новым значением с поля Text этого контрола. Далее опять динамически создать кучу контролов и так далее.... т.е. жизнь контролов меня особо не интересует, т.к. все данные хранятся не в них, мне просто надо заставить этот контрол жить до обработки событий, чтоб произошло от него событие.
Re[3]: Динамически создать серверный элемент управления
От: ForAll_k  
Дата: 20.02.05 16:22
Оценка:
Здравствуйте, Whistler, Вы писали:

W>Здравствуйте, ForAll_k, Вы писали:


FA_>>Здравствуйте, Whistler, Вы писали:


W>>>Создаю динамически серверный элемент управления:


W>>>
W>>>   TextBox child = new TextBox();
W>>>   child.ID = "TextBox1";
W>>>   child.AutoPostBack = true;
W>>>   child.TextChanged +=new EventHandler(child_TextChanged);
W>>>   Panel1.Controls.Add(child);
W>>>


W>>>Как видите, назначаю ему обработчик события, событие нифига не работает... Как можно заставить элемент управления пожить чуток побольше, чтобы произошло событие и с sender можно было считать значение поля Text ??


W>>>Заранее спасибо!

FA_>>в каком событии создается контрол ?

W>Пока пробовал так: кинул на форму кнопку и на нажатие этой кнопки создается контрол.


W>Этот контрол живет только до следующей загрузки страницы — но это и не важно...


W>Весь смысл в чем: у меня массив, его размеры я заведомо не знаю, я создаю в зависимости от размера массива столько, сколько нужно контролов, и заполняю из значениями из массива... при изменении значения хотябы в одном массиве, мне надо чтобы произошло событие — я в событие узнал от какого именно контрола оно пришло, и заменить соответствующее значение в массиве новым значением с поля Text этого контрола. Далее опять динамически создать кучу контролов и так далее.... т.е. жизнь контролов меня особо не интересует, т.к. все данные хранятся не в них, мне просто надо заставить этот контрол жить до обработки событий, чтоб произошло от него событие.



боролся с этим в датагриде здесь
в итоге победил ...контролы создаются динамически в зависимотси от значения в базе и события возникают
в вашем случае думаю, что поможет пересоздание контролов при каждой загрузке страницы.
Re[4]: Динамически создать серверный элемент управления
От: Gollum Россия  
Дата: 21.02.05 04:54
Оценка:
Здравствуйте, ForAll_k, Вы писали:

FA_>в вашем случае думаю, что поможет пересоздание контролов при каждой загрузке страницы.


+1
Моя смерть ездит в черной машине с голубым огоньком
Eugene Agafonov on the .NET

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.