在asp.net转发器中获取当前控件

时间:2014-02-20 13:52:42

标签: c# asp.net repeater

我想知道如何在asp转发器中获得当前控件。我希望转发器在ID为1时显示文本框控件,在2时显示单选按钮。但是当隐藏此控件时,我不希望隐藏所有应该可见的先前和未来控件(这是我正在努力的部分)。

请参阅以下内容:

<asp:Repeater ID="rptQuestionnaireQuestions" runat="server" OnItemDataBound="rptQuestionnaireQuestions_ItemDataBound">
        <ItemTemplate>
            <p><%# Eval("QuestionnaireQuestionTitle") %></p>
            <asp:Panel ID="pnlTypeText" runat="server">
                <asp:TextBox ID="txtResponse" runat="server" />
            </asp:Panel>
            <asp:Panel ID="pnlTypeRadio" runat="server">
                <p><%# Eval("QuestionnaireAnswerTitle") %></p>
                <asp:RadioButton ID="rbResponse" runat="server" />
            </asp:Panel>
            <asp:Panel ID="pnlTypeRadioMultiple" runat="server">
                <asp:GridView ID="gviDisplayMultiple" runat="server"
                    OnRowDataBound="gviDisplayMultiple_RowDataBound"
                    AutoGenerateColumns="false" />
            </asp:Panel>
        </ItemTemplate>
    </asp:Repeater>

非常感谢。

1 个答案:

答案 0 :(得分:0)

以下是如何为控件或包装面板设置Visible属性:

<asp:Panel ID="pnlTypeText" runat="server"
           Visible='<%# (int)Eval("ID") == 1 %>'>
    <asp:TextBox ID="txtResponse" runat="server" />
</asp:Panel>
<asp:Panel ID="pnlTypeRadio" runat="server"
           Visible='<%# (int)Eval("ID") == 2 %>'>
    <p><%# Eval("QuestionnaireAnswerTitle") %></p>
    <asp:RadioButton ID="rbResponse" runat="server" />
</asp:Panel>