ASP.NET, VB: ¿cómo acceder a los controles dentro de un FormView desde el código detrás?
Tengo una casilla de verificación y un panel dentro de un control FormView, y necesito acceder a ellos desde el código detrás para poder usar la casilla de verificación para determinar si el panel está visible o no. Este es el código que usé originalmente, pero como puse los controles dentro de FormView, ya no funciona.
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
Comencé a resolver esto en base a otras preguntas que busqué aquí, pero todas estaban en C # en lugar de VB, así que esto es lo que obtuve:
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
Así que sí, no estoy seguro exactamente cómo terminarlo. Lo siento, esto puede ser bastante básico, pero soy nuevo en esto y cualquier ayuda sería apreciada.
EDITAR: aquí está mi código ahora:
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
También dice que checkGenEd y panelOutcome no se declaran.
EDITAR: cambié mi código a esto pero aún no funciona:
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
Ya no hay errores, pero no sucede nada cuando hago clic en la casilla de verificación. Creo que debe haber algún tipo de evento para activarlo, pero no sé cómo puedes poner un controlador de eventos dentro de un controlador de eventos.