0 Ich habe über 100 asp.net-Schaltflächen, die ich die BackColor und Text direkt aus einer Datenbank festlegen müssen, wenn ich das herausfinden kann ich eine 400+ Zeile Select-Anweisung ersetzen mit etwa 10 Zeilen Code. Keine der unten genannten Konvertierungsmethoden funktioniert, wenn sie dies taten, könnte ich die b.ID
durch die Variable c
in der If-Klausel ersetzen.Wie eine Zeichenfolge in einem WebControl.Button
Sub Page_Load(sender As Object, e As EventArgs)
Dim taR As New DsReadyTableAdapters.taReady
Dim dtR As New DsReady.ReadyDataTable
taR.Fill(dtR)
Dim x As Integer = 1
Dim ss As String
Dim t As Type
For Each b In form1.Controls
t = b.GetType
If t.Name = "Button" Then
Dim c As System.Web.UI.WebControls.Button = CType(b.ID, System.Web.UI.WebControls.Button) 'tried both, doesn't work
Dim c As System.Web.UI.WebControls.Button = DirectCast(b.ID, System.Web.UI.WebControls.Button) 'tried both, doesn't work
ss = CStr(b.ID).Substring(6)
If ss > 122 And ss < 126 Then
b.ID.BackColor = Drawing.ColorTranslator.FromHtml(dtR(x).Color) 'b.ID is string so doesn't work
b.ID.Text = dtR(x).Num
x += 1
End If
End If
Next b
End Sub
Ich habe auch eine Controls.OfType
-Klausel in der For Each
Anweisung versucht, unter Verwendung der Ergebnisse nur auf die Tasten zu verengen, aber ohne Erfolg. Ich bin bereit, dies auch mit jQuery zu tun, aber habe keine einfache Methode gefunden, die Daten aus der Datenbank zu ziehen, die so einfach ist wie das, was ich benutze. Ihre Hilfe wird gerne in Anspruch genommen.
wo genau würden Sie das in den Code, vor der 'For Each' Aussage setzen? Ich versuche, alle Schaltflächen zu durchlaufen, damit ich nicht sehe, wie ich 'your_button_name' verwenden kann. Danke – NitroMuse
"Versuch" ist keine angemessene Beschreibung für eine Antwort. Code-only-Lösungen gelten als Inhalte von schlechter Qualität und können dazu führen, dass Ihre Antwort gelöscht wird. –
setzen Sie es in Ihre Schleife, your_button_name = b.ID – Jack