我正在使用带有 ItemTemplate 的 RadComboBox,其中包含用户可以输入信息的 50 个 TextBox 控件。我动态添加了 50 个 TextBox 控件(见下文)。当信息输入到文本框中时,似乎一切都按预期工作。但是,当我迭代 TextBoxes 的集合时,数据不存在。这是我的代码:
页面:
<telerik:RadComboBox ID="ddlListItemsQ1" runat="server" Width="200px" ShowDropDownOnTextboxClick="true" EnableEmbeddedSkins="false" Skin="Classic" TabIndex="2" ZIndex="100" disabled="true" OnClientDropDownOpening="OnDropdownListItemsOpening">
<ItemTemplate>
<asp:TextBox ID="txtBoxQ1" runat="server" Width="160"/>
</ItemTemplate>
</telerik:RadComboBox>
加载文本框:
private void LoadDropdownListItems()
{
int itemCount = 0;
while (itemCount < 50)
{
ddlListItemsQ1.Items.Add(new RadComboBoxItem());
itemCount++;
}
}
检查集合:
RadComboBox ddlListItems = (RadComboBox)FindControl("ddlListItemsQ1");
IList<RadComboBoxItem> iList = ddlListItems.Items;
foreach (RadComboBoxItem rcbi in iList)
{
if (rcbi.Text.Length > 0)
return true;
}
任何文本框中都没有任何内容。例如,如果我在 50 个文本中的 2 个中输入了文本,我应该在遇到的第一个文本中返回“true”。当我调试并查看集合时 - 任何文本框中都没有存储任何内容,即使在 UI 中,也有两个带有数据。我肯定错过了什么...