Ich habe eine Checkbox und ein Panel innerhalb eines FormView-Steuerelements, und ich muss auf sie aus dem Code dahinter zugreifen, um das Kontrollkästchen zu verwenden, um zu bestimmen, ob das Panel sichtbar ist oder nicht. Dies ist der Code, den ich ursprünglich verwendet habe, aber seit ich die Steuerelemente in FormView platziert habe, funktioniert es nicht mehr.ASP.NET, VB: wie auf Steuerelemente in einem FormView aus dem Code zugreifen?
Protected Sub checkGenEd_CheckedChanged(ByVal sender As Object, _
ByVal e As System.EventArgs)
If checkGenEd.Checked = True Then
panelOutcome.Visible = True
Else
panelOutcome.Visible = False
End If
End Sub
Ich habe angefangen, diese, um herauszufinden, basierend auf andere Fragen, die ich sah hier, aber alle von ihnen waren in C# statt VB, so ist dies so weit wie ich bekam:
Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
If FormView1.CurrentMode = FormViewMode.Edit Then
End If
End Sub
Also ja, ich weiß nicht genau, wie ich es beenden soll. Es tut mir leid, das könnte ziemlich einfach sein, aber ich bin neu dabei und jede Hilfe wäre willkommen!
EDIT: Hier ist mein Code jetzt:
Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
If FormView1.CurrentMode = FormViewMode.Edit Then
CheckBox checkGenEd = formview1.FindControl("checkGenEd");
Panel panelOutcome = formview1.FindControl("panelOutcome");
End If
End Sub
Es sagt auch, dass checkGenEd und panelOutcome nicht erklärt.
EDIT: Ich änderte meinen Code zu diesem, aber es funktioniert immer noch nicht:
Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
If FormView1.CurrentMode = FormViewMode.Edit Then
Dim checkGenEd As CheckBox = FormView1.FindControl("checkGenEd")
Dim panelOutcome As Panel = FormView1.FindControl("panelOutcome")
If checkGenEd.Checked = True Then
panelOutcome.Visible = True
Else
panelOutcome.Visible = False
End If
End If
End Sub
Es gibt keine Fehler mehr, aber es passiert nichts, wenn ich auf das Kontrollkästchen klicken. Ich denke, dass es irgendeine Art von Ereignis geben muss, um es auszulösen, aber ich weiß nicht, wie Sie einen Event-Handler in einen Event-Handler einfügen können.
Okay, das macht Sinn, aber jetzt sagt es mir, dass "CheckBox" ein Typ ist und nicht als Ausdruck verwendet werden kann. – Sara
Ich denke, das ist in der Regel ein Syntaxfehler, können Sie das, was Sie haben, posten? Sie könnten auch die alternative Syntax oben versuchen ... –
Dim checkGenEd As CheckBox = CType (FormView1.FindControl ("checkGenEd"), CheckBox) für das vb-äquivalente Casting. – Tom