powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как поменять родителя контрола?
3 сообщений из 3, страница 1 из 1
Как поменять родителя контрола?
    #34128162
andreysh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как правильно поменять родителя контрола? Я делаю так: NewParent.Controls.Add(c1). Но проблема в том, что не отрабатываются события контрола c1. Такое ощущение, что события так и остались ссылаться на контрол, буддто он принадлежит родителю, где и был при инициализации страницы.



Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   If Not IsPostBack Then DropDownList1.Items.Add("1")
End Sub

Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
   
End Sub


Если у DropDownList1 не менять родителя, то событие DropDownList1.SelectedIndexChanged происходит, а если DropDownList1 перенести в другой юзерконтрол, то DropDownList1.SelectedIndexChanged не происходит.

Подскажите, как правильно переносить контролы т одного родителя к другому?
...
Рейтинг: 0 / 0
Как поменять родителя контрола?
    #34128851
algol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, andreysh, Вы писали:

A>Как правильно поменять родителя контрола? Я делаю так: NewParent.Controls.Add(c1). Но проблема в том, что не отрабатываются события контрола c1. Такое ощущение, что события так и остались ссылаться на контрол, буддто он принадлежит родителю, где и был при инициализации страницы.
A>Подскажите, как правильно переносить контролы т одного родителя к другому?

Есть предположение, что события привязаны по ClientID контрола, который поменялся после смены родителя. Попробуйте после переноса заново подписываться на события.
...
Рейтинг: 0 / 0
Как поменять родителя контрола?
    #34128945
andreysh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, algol, Вы писали:

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

A>Есть предположение, что события привязаны по ClientID контрола, который поменялся после смены родителя. Попробуйте после переноса заново подписываться на события.

А на какие события? На все? Мне для разных контролов разные события могут быть нужны. Тем более, что некоторые переносимые контролы находятся в коллекциях других. Например я могу перенести <div></div> внутри которого расположена группа контролов со сложной иерархией. Перебирать все и переподписывать?

Да и ещё, забыл написать в первом сообщении...


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   If Not IsPostBack Then
      DropDownList1.Items.Add("1")
      DropDownList1.Items.Add("2")
   End If
End Sub

В нормальном варианте (без переноса котрола), DropDownList1 заполняется значениями "1" и "2" один раз при первом старте страницы, которые восстанавливаются всегда после отправки данных форме пользователем. Если же котрол перенести к другому родителю, то список DropDownList1, после отправки данных форме, оказывается пустым!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как поменять родителя контрола?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]