Question

J'ai un code que j'ai hérité, et ce n'est pas le plus grand dans le monde, mais il fonctionne, à une exception près:

Cette page est une recherche de répertoire, il a des contrôles identifiés par ID d'enregistrement, mais il existe une situation où il peut y avoir plus d'un résultat avec le même ID d'enregistrement, rendant ainsi barf .NET. J'avais initialement mis en place un chèque qui n'a tout simplement pas mis le contrôle sur la page, si elle était déjà là, mais nous avons reçu des commentaires négatifs.

Ma question est la suivante: est-il un moyen de mettre le même contrôle dans deux endroits à la fois, par exemple avoir si un utilisateur vérifie un, on vérifie correspondant aussi bien? Je ne suis pas terriblement fort versées dans .NET se conduit, mais je vais essayer de fournir autant que possible un contexte supplémentaire, si nécessaire.

EDIT: Voici le code mis à jour qui génère les contrôles en boucle sur une table de données des résultats

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

Et voici le code qui trouve les contrôles et construit la liste des contacts:

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

Où drOrganizer ( "ID") est l'ID d'enregistrement, et i est le numéro d'enregistrement de résultat.

Je sais que c'est une façon terrible de le faire, du moins de mon arrière-plan, mais comme je l'ai dit, ce code est hérité qui a été piraté en morceaux.

Était-ce utile?

La solution 2

Je pense que j'ai réussi à produire le résultat que je voulais, j'ai une case à cocher pour les deux entrées, ils ne basculer l'autre, mais c'est OK. J'ai pu joindre le numéro de ligne de résultat à l'ID de case à cocher.

Autres conseils

vous ne pouvez le faire via JavaScript

Vous pouvez avoir des résultats en double, mais si l'ID d'enregistrement est la clé, alors quelque chose ne va pas. De plus, je ne comprends pas ce que l'ID de contrôle a dû faire avec l'ID d'enregistrement; un exemple de code peut aider: -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top