Platzieren Sie dieselbe ASP.NET -Steuerung in verschiedenen Bereichen einer Seite
-
18-09-2019 - |
Frage
Ich habe einen Code, den ich geerbt habe, und er ist nicht der größte der Welt, aber es funktioniert mit einer kleinen Ausnahme:
Diese Seite ist eine Verzeichnissuche, die Steuerelemente durch Datensatz -ID identifiziert wurden. Es gibt jedoch eine Situation, in der mehr als ein Ergebnis mit derselben Datensatz -ID vorhanden ist, wodurch .NET BARF erstellt wird. Ich hatte ursprünglich einen Scheck implementiert, der die Kontrolle nicht auf die Seite gesetzt hat, wenn es bereits da war, aber wir haben negatives Feedback erhalten.
Meine Frage lautet: Gibt es eine Möglichkeit, die gleiche Kontrolle an zwei Stellen gleichzeitig zu stellen, beispielsweise wenn ein Benutzer einen überprüft, das entsprechende prüft auch? Ich bin nicht besonders gut mit dem Verhalten von .NET vertraut, aber ich werde versuchen, bei Bedarf so viel zusätzlichen Kontext wie möglich bereitzustellen.
Bearbeiten: Hier ist der aktualisierte Code, der die Steuerelemente generiert, indem sie einen Ergebnisdatensatz schleifen
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
Und hier ist der Code, der die Steuerelemente findet und die Kontaktliste erstellt:
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
Wo Drorganisator ("ID") die Datensatz -ID ist und ich die Ergebnis -Datensatznummer ist.
Ich weiß, dass dies eine schreckliche Möglichkeit ist, dies zu tun, zumindest aus meinem Hintergrund, aber wie gesagt, dies ist ererbter Code, der in Stücke gehackt wurde.
Lösung 2
Ich glaube, ich habe es geschafft, das Ergebnis zu produzieren, das ich wollte, ich habe ein Kontrollkästchen für beide Einträge, sie wechseln sich nicht gegenseitig, aber das ist in Ordnung. Ich konnte die Ergebniszeilennummer an die Kontrollkästchen -ID anhängen.
Andere Tipps
Sie können dies nur durch JavaScript
Sie können doppelte Ergebnisse erzielen, aber wenn die Datensatz -ID der Schlüssel ist, dann stimmt etwas nicht. Ich verstehe auch nicht, was die Kontroll -ID mit der Datensatz -ID zu tun hatte. Ein Code-Beispiel könnte helfen :-)