ASP.NET/VB: изменение видимости панели внутри формы - PullRequest
0 голосов
/ 28 декабря 2010

У меня есть панель внутри формы, которая должна становиться видимой, когда установлен флажок (также внутри формы). Я могу получить доступ к элементам управления, но я не уверен, как на самом деле заставить его работать. До сих пор это мой код, я знаю, что это неправильно, но он дает общее представление о том, что я пытаюсь сделать.

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

1 Ответ

0 голосов
/ 28 декабря 2010

Вопрос немного неясен, но если вы хотите иметь в виду, когда вы устанавливаете / снимаете флажок, вам нужно использовать событие OnCheckChanged вашего флажка, например:

    <asp:TemplateField>
    <ItemTemplate>
        <asp:CheckBox ID="checkGenEd" AutoPostBack="true" Checked='<%# Eval("YourDBField") %>' OnCheckedChanged="checkGenEd_CheckedChanged" runat="server" />            
    </ItemTemplate>
    </asp:TemplateField> 

    Protected Sub checkGenEd_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim checkGenEd As CheckBox = DirectCast(sender, CheckBox)
            Dim panelOutcome As Panel = FormView1.FindControl("panelOutcome")

            If checkGenEd.Checked = True Then
                panelOutcome.Visible = True
            Else
                panelOutcome.Visible = False
           End If
End Sub
...