Tôi có một hộp kiểm và một bảng điều khiển bên trong điều khiển FormView và tôi cần truy cập chúng từ mã phía sau để sử dụng hộp kiểm để xác định xem bảng có hiển thị hay không. Đây là mã mà tôi đã sử dụng ban đầu, nhưng kể từ khi tôi đặt các điều khiển bên trong FormView, nó không còn hoạt động nữa.ASP.NET, VB: làm cách nào để truy cập các điều khiển bên trong FormView từ mã phía sau?
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
Tôi đã bắt đầu để tìm ra này dựa trên các câu hỏi khác tôi nhìn lên trên đây, nhưng tất cả đều là trong C# thay vì VB, vì vậy đây là như xa như tôi nhận:
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
Vì vậy, tôi không chắc chắn chính xác làm thế nào để hoàn thành nó. Tôi xin lỗi, điều này có thể là khá cơ bản, nhưng tôi mới ở đây và bất kỳ trợ giúp sẽ được đánh giá cao!
EDIT: đây là mã của tôi bây giờ là:
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
Nó cũng nói rằng checkGenEd và panelOutcome không khai báo.
EDIT: Tôi đã thay đổi mã của tôi để điều này, nhưng nó vẫn không hoạt động:
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
Không có bất kỳ lỗi nào nữa, nhưng không có gì xảy ra khi tôi nhấp vào hộp kiểm. Tôi nghĩ rằng cần phải có một số loại sự kiện để kích hoạt nó nhưng tôi không biết làm thế nào bạn có thể đặt một xử lý sự kiện bên trong của một xử lý sự kiện.
Được rồi, nhưng bây giờ nó nói với tôi rằng 'CheckBox' là một loại và không thể được sử dụng như một biểu thức. – Sara
Tôi nghĩ rằng đó thường là lỗi cú pháp, bạn có thể đăng những gì bạn có không? Bạn cũng có thể thử cú pháp thay thế ở trên ... –
Dim checkGenEd As CheckBox = CType (FormView1.FindControl ("checkGenEd"), CheckBox) cho phép đúc tương đương vb. – Tom