У меня есть флажок и панель внутри элемента управления FormView, и мне нужно получить к ним доступ из кода, чтобы использовать этот флажок, чтобы определить, видима ли панель. Это код, который я изначально использовал, но так как я помещал элементы управления внутри FormView, он больше не работает.ASP.NET, VB: как получить доступ к элементам управления внутри FormView из кода позади?
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
Я начал, чтобы понять это на основе других вопросов, которые я смотрел на здесь, но все они были в C# вместо VB, так что это, насколько я получил:
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
Так что да, я точно не знаю, как закончить его. Извините, это может быть довольно просто, но я новичок в этом, и любая помощь будет оценена!
EDIT: вот мой код прямо сейчас:
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
Он также говорил, что checkGenEd и panelOutcome не объявлены.
EDIT: Я изменил код для этого, но он по-прежнему не работает:
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
Там нет никаких ошибок больше, но ничего не происходит, когда я нажимаю на флажок. Я думаю, что для его запуска должно быть какое-то событие, но я не знаю, как вы можете поместить обработчик события внутри обработчика события.
Хорошо, что имеет смысл, но теперь это говорит мне, что «CheckBox» является типом и не может использоваться как выражение. – Sara
Я думаю, что это типичная ошибка синтаксиса, можете ли вы опубликовать то, что у вас есть? Вы также можете попробовать альтернативный синтаксис выше ... –
Dim checkGenEd В качестве CheckBox = CType (FormView1.FindControl ("checkGenEd"), CheckBox) для эквивалентной кавычки vb. – Tom