Colocar el mismo control ASP.NET en diferentes áreas de una página
-
18-09-2019 - |
Pregunta
Tengo algún código que he heredado, y no es el mejor del mundo, pero funciona, con una pequeña excepción:
Esta página es una búsqueda de directorio, tiene controles identificados por ID de registro, sin embargo, existe una situación en la que puede haber más de un resultado con la misma ID de registro, lo que hace BARF .NET. Originalmente había implementado un cheque que simplemente no puso el control en la página, si ya estaba allí, pero hemos recibido comentarios negativos.
Mi pregunta es esta: ¿hay alguna manera de poner el mismo control en dos lugares a la vez, por ejemplo, si un usuario verifica uno, el que corresponde también se verifica? No estoy terriblemente bien versado en cómo se comporta .NET, pero intentaré proporcionar la mayor cantidad de contexto adicional posible, si es necesario.
EDITAR: Aquí está el código actualizado que genera los controles en bucle a través de un datos de resultados
Dim cbxSendInfo As CheckBox
Dim strCheckboxID As String = "cbxSendInfo-" & drOrganizer("ID") & "-" & i
Debug.text = Debug.text & " Loading Checkbox (" & strCheckboxID & ")...<br />"
cbxSendInfo = New CheckBox
cbxSendInfo.ID = strCheckboxID
cbxSendInfo.enableViewState = true
Y aquí está el código que encuentra los controles y crea la lista de contactos:
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
Donde Drorganizer ("ID") es el ID de registro, y yo es el número de registro de resultados.
Sé que esta es una forma terrible de hacer esto, al menos desde mis antecedentes, pero como dije, este es un código heredado que ha sido pirateado en pedazos.
Solución 2
Creo que he logrado producir el resultado que quería, tengo una casilla de verificación para ambas entradas, no se alternan, pero está bien. Pude agregar el número de fila de resultados al ID de casilla de verificación.
Otros consejos
Solo puedes hacer esto a través de Javascript
Puede tener resultados duplicados, pero si la ID de registro es la clave, entonces algo está mal. Además, no entiendo qué tenía que ver la identificación de control con la identificación de registro; Una muestra de código podría ayudar :-)