Размещение одного и того же элемента управления ASP.NET в разных областях страницы - PullRequest
0 голосов
/ 05 февраля 2010

У меня есть некоторый код, который я унаследовал, и он не самый лучший в мире, но он работает, за одним небольшим исключением:

Эта страница является поиском в каталоге, она имеет элементы управления, идентифицированные по идентификатору записи, однако существует ситуация, когда может быть несколько результатов с одним и тем же идентификатором записи, что приводит к .NET barf. Первоначально я реализовал проверку, которая просто не помещала элемент управления на страницу, если он уже был там, но мы получали отрицательный отзыв.

У меня такой вопрос: есть ли способ разместить один и тот же элемент управления в двух местах одновременно, например, если пользователь проверяет один, проверяет соответствующий? Я не очень хорошо разбираюсь в том, как ведет себя .NET, но я постараюсь предоставить как можно больше дополнительного контекста, если это необходимо.

РЕДАКТИРОВАТЬ: Вот обновленный код, который генерирует элементы управления, циклически перебирая данные из результатов

Dim cbxSendInfo As CheckBox
Dim strCheckboxID As String = "cbxSendInfo-" & drOrganizer("ID") & "-" & i
Debug.text = Debug.text & "&nbsp;&nbsp;&nbsp;&nbsp;Loading Checkbox (" & strCheckboxID & ")...<br />"

cbxSendInfo = New CheckBox
cbxSendInfo.ID = strCheckboxID
cbxSendInfo.enableViewState = true

А вот код, который находит элементы управления и создает список контактов:

Dim strCheckboxID As String = "cbxSendInfo-" & drOrganizer("ID") & "-" & i          
Dim cbxSendInfo As CheckBox = Me.tblResults.FindControl(strCheckboxID)

If cbxSendInfo.Checked Then
    alOrganizers.Add(drOrganizer("ID"))
End If

Где drOrganizer ("ID") - это идентификатор записи, а i - номер записи результата.

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

Ответы [ 3 ]

0 голосов
/ 05 февраля 2010

Я думаю, что мне удалось получить желаемый результат, у меня есть флажок для обеих записей, они не переключают друг друга, но это нормально. Мне удалось добавить номер строки результата к идентификатору флажка.

0 голосов
/ 05 февраля 2010

Вы можете получить дубликаты результатов, но если ключом является идентификатор записи, значит что-то не так. Кроме того, я не понимаю, как управляющий идентификатор имел отношение к идентификатору записи; пример кода может помочь: -)

0 голосов
/ 05 февраля 2010

Вы можете сделать это только через JavaScript

...