this.Controls不包含所有控件

时间:2013-05-14 08:50:00

标签: c# textbox controls dotnetnuke

特别是跳过了一个文本框。带有ID" q3TXT"的文本框在一个隐藏在PageLoad方法中的面板内。

然而,在收集控件的函数之前,它变得可见。

收集其他所有文本框。

我已尝试使用IEnumberable文本框集合,但这些文档框无效。

如何让文本框出现在控件列表中?

这是html:

<p id="question3Text" runat="server" class="question"></p>
<asp:RadioButtonList runat="server" ID="q3_RBList" AutoPostBack="true" OnSelectedIndexChanged="q3_RBList_SelectedIndexChanged">
</asp:RadioButtonList>
<asp:Panel runat="server" ID="q3Panel">
    <p>If no, when did data collection stop?</p>
    <asp:TextBox runat="server" ID="q3TXT"></asp:TextBox>
</asp:Panel><br /><br />

c#代码的一部分:

foreach (var item in this.Controls.OfType<TextBox>())
{
    //some code
}

1 个答案:

答案 0 :(得分:4)

具体的textBox是特定panel的一部分,因此您应该在panel.Controls而非this.Controls

内查找