powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Добавление контрола в коллекцию
7 сообщений из 7, страница 1 из 1
Добавление контрола в коллекцию
    #33875918
Provodnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация такая - на сервере генерится таблица с помощью new TableRow и new TableCell, им присваиваются некоторые ID. После сабмита таблица генерится снова, элементам присваиваются те же идентификаторы. Вот процедура добавления ячейки таблицы:

 Sub NewTD2(ByRef MyTR As TableRow, ByVal id As String, ByVal text As String, ByVal align As HorizontalAlign, ByVal cs As Integer, ByVal rs As Integer)
        Dim myTD As TableCell = New TableCell
        myTD.Text = text
        myTD.ID = id
        myTD.HorizontalAlign = align
        myTD.ColumnSpan = cs
        myTD.RowSpan = rs
        MyTR.Controls.Add(myTD)
    End Sub

До этого вызывается myTR.Controls.Clear().

Так вот - после строки MyTR.Controls.Add(myTD) похоже происходит восстановление поля Text значением из предыдущего объекта с таким же идентификатором. Хотя объект-то создается НОВЫЙ!!! Может кто встречался с подобной ситуацией? Помогите, пжалуйста!
...
Рейтинг: 0 / 0
Добавление контрола в коллекцию
    #33875953
Provodnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, решена проблема. Вот работающий вариант:

    Sub NewTD2(ByRef MyTR As TableRow, ByVal id As String, ByVal text As String, ByVal align As HorizontalAlign, ByVal cs As Integer, ByVal rs As Integer)
        Dim myTD As TableCell = New TableCell
        myTD.ID = id
        myTD.HorizontalAlign = align
        myTD.ColumnSpan = cs
        myTD.RowSpan = rs
        myTD.Text = text
        myTD.EnableViewState = False
        MyTR.Controls.Add(myTD)
    End Sub
...
Рейтинг: 0 / 0
Добавление контрола в коллекцию
    #33875967
Provodnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, может кто знает - почему?
...
Рейтинг: 0 / 0
Добавление контрола в коллекцию
    #33876009
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P>Кстати, может кто знает — почему?
Что почему? Положено так. Когда контрол добавляется в дерево, он пытается загрузить свой ViewState.
...
Рейтинг: 0 / 0
Добавление контрола в коллекцию
    #33876086
Provodnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно. Почему именно при добавлении в коллекцию родителя, а не в момент присвоения идентификатора?
...
Рейтинг: 0 / 0
Добавление контрола в коллекцию
    #33876131
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P>Это понятно. Почему именно при добавлении в коллекцию родителя, а не в момент присвоения идентификатора?
Потому, что контрол ищет свой ViewState в родительском ViewState... Да и уникальное имя контрола определяется только в момент добавления в дерево (оно составное из имени родителя и имени контрола).
...
Рейтинг: 0 / 0
Добавление контрола в коллекцию
    #33876204
Provodnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно. Спасибо за информацию!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Добавление контрола в коллекцию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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