ユーザーが情報を入力できる 50 個の TextBox コントロールを含む ItemTemplate で RadComboBox を使用しています。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;
}
テキストボックスには何もありません。たとえば、50 個のうち 2 個にテキストを入力した場合、最初に出くわしたテキストで「true」が返されるはずです。コレクションをデバッグして見ると、UIにはデータが2つありますが、テキストボックスには何も保存されていません。私は何かが欠けているに違いない...