Я использую RadComboBox с ItemTemplate, который содержит 50 элементов управления TextBox, в которые пользователь может вводить информацию. Я добавляю 50 элементов управления TextBox динамически (см. Ниже). Когда информация вводится в текстовые поля, кажется, что все работает, как ожидалось. Однако, когда я повторяю коллекцию TextBoxes, данных там нет. Вот мой код:
Страница aspx:
<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;
}
Ничего нет ни в одном из текстовых полей. Например, если я ввел текст в 2 из 50, я должен получить «true», возвращенный при первом обнаружении. Когда я отлаживаю и смотрю на коллекцию - в ЛЮБОМ текстовом поле ничего не хранится, хотя в пользовательском интерфейсе есть два с данными. Должно быть, я что-то упустил ...