C# 带有asp:TextBox的ItemTemplate的RadComboBox出现问题

C# 带有asp:TextBox的ItemTemplate的RadComboBox出现问题,c#,asp.net,textbox,itemtemplate,radcombobox,C#,Asp.net,Textbox,Itemtemplate,Radcombobox,我使用一个RadComboBox和一个ItemTemplate,其中包含50个TextBox控件,用户可以在其中输入信息。我动态添加了50个TextBox控件(见下文)。在文本框中输入信息时,似乎一切都按预期进行。但是,当我迭代文本框集合时,数据并不存在。这是我的密码: aspx页面: <telerik:RadComboBox ID="ddlListItemsQ1" runat="server" Width="200px" ShowDropDownOnTextboxClick="true"

我使用一个RadComboBox和一个ItemTemplate,其中包含50个TextBox控件,用户可以在其中输入信息。我动态添加了50个TextBox控件(见下文)。在文本框中输入信息时,似乎一切都按预期进行。但是,当我迭代文本框集合时,数据并不存在。这是我的密码:

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++;
    }                
}
private void LoadDropdownListItems()
{
int itemCount=0;
而(itemCount<50)
{
ddlListItemsQ1.Items.Add(新的RadComboxItem());
itemCount++;
}                
}
检查集合:

RadComboBox ddlListItems = (RadComboBox)FindControl("ddlListItemsQ1");

IList<RadComboBoxItem> iList = ddlListItems.Items;
foreach (RadComboBoxItem rcbi in iList)
{
    if (rcbi.Text.Length > 0)
        return true;
}
RadComboBox ddlListItems=(RadComboBox)FindControl(“ddlListItemsQ1”);
IList IList=ddlListItems.Items;
foreach(ILST中的项目rcbi)
{
如果(rcbi.Text.Length>0)
返回true;
}

任何文本框中都没有任何内容。例如,如果我在50个文本中的2个中输入了文本,我应该在它遇到的第一个文本中返回“true”。当我调试并查看集合时,任何文本框中都没有存储任何内容,即使在UI中,有两个文本框包含数据。我一定错过了什么

for循环正在检查
rcbi.Text
,但这是添加到组合框中的
radcomboxItem
s的文本……这与作为
ItemTemplate
一部分放置的
TextBox
中的文本不同。将for循环更改为此,它应该可以工作:

IList<RadComboBoxItem> iList = ddlListItems.Items;
foreach (RadComboBoxItem rcbi in iList)
{
    //Find the inner textbox placed by the ItemTemplate
    var innerTextBox = (TextBox)rcbi.FindControl("txtBoxQ1");

    /Check the textbox's Text property
    if (innerTextBox.Text.Length > 0)
        return true;
}
IList-IList=ddlListItems.Items;
foreach(ILST中的项目rcbi)
{
//查找ItemTemplate放置的内部文本框
var innerTextBox=(TextBox)rcbi.FindControl(“txtBoxQ1”);
/选中textbox的Text属性
如果(innerTextBox.Text.Length>0)
返回true;
}