使用asp:TextBox的ItemTemplate的RadComboBox问题

时间:2011-09-14 14:12:15

标签: c# asp.net textbox itemtemplate radcombobox

我正在使用带有ItemTemplate的RadComboBox,其中包含用户可以输入信息的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;
}

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

1 个答案:

答案 0 :(得分:0)

您的for循环正在检查rcbi.Text,但这是您添加到组合框的RadComboBoxItem的文本....这与{{1}中的文本不同你作为TextBox的一部分放置的。将你的for循环改为this,它应该可以工作:

ItemTemplate