Pergunta

Tenho algum código que herdei e não é o melhor do mundo, mas funciona, com uma pequena exceção:

Esta página é uma pesquisa de diretório, possui controles identificados pelo ID do registro, no entanto, existe uma situação em que pode haver mais de um resultado com o mesmo ID de registro, fazendo assim o .NET BARF. Eu havia implementado originalmente um cheque que simplesmente não colocava o controle na página, se já estivesse lá, mas estamos recebendo feedback negativo.

Minha pergunta é a seguinte: existe uma maneira de colocar o mesmo controle em dois lugares de uma só vez, por exemplo, se um usuário verificar um, o correspondente também verifica? Não sou muito bem versado em como o .NET se comporta, mas tentarei fornecer o máximo de contexto adicional possível, se necessário.

EDIT: Aqui está o código atualizado que gera os controles looping sobre um datatable de resultados

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

E aqui está o código que encontra os controles e cria a lista de contatos:

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

Onde o drorganizer ("id") é o ID do registro, e eu é o número do registro de resultado.

Sei que essa é uma maneira terrível de fazer isso, pelo menos do meu fundo, mas, como eu disse, esse código herdado foi invadido em pedaços.

Foi útil?

Solução 2

Acho que consegui produzir o resultado que queria, tenho uma caixa de seleção para ambas as entradas, elas não se alternam, mas tudo bem. Consegui anexar o número da linha do resultado ao ID da caixa de seleção.

Outras dicas

você só pode fazer isso através JavaScript

Você pode ter resultados duplicados, mas se o ID do registro for a chave, algo está errado. Além disso, não entendo o que o ID de controle tinha a ver com o ID do registro; Uma amostra de código pode ajudar :-)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top