1

我有一个像这样的 RadComboBox:

            <telerik:RadComboBox ID ="productsDropDown" DataValueField="DisplayName" DataTextField="DisplayName" HighlightTemplatedItems="true"
            runat="server" AllowCustomText="true" Height="150px" Width="200px" OnClientDropDownClosed="onDropDownProductClose" AutoPostBack="true">
                <ItemTemplate>
                    <div onclick="StopPropagation(event)">
                        <asp:CheckBox runat="server" ID="chk2" Checked="false" onclick="onCheckBoxProductClick(this)"/>
                        <asp:Label runat="server" ID="Label2" AssociatedControlID="chk2">
                            <%# Eval("DisplayName")%>
                        </asp:Label>
                    </div>
                </ItemTemplate>
                <FooterTemplate>
                    <asp:Button ID="btnSubmitProduct" runat="server" Text="OK" OnClick="OnSubmitProduct" />
                </FooterTemplate> 
            </telerik:RadComboBox>

但由于某种原因,它不会显示我绑定到它的任何数据,如下所示:

            productsDropDown.DataSource = FTSAppLogic.getProducts();
            productsDropDown.DataBind();

我有一个几乎相同的下拉列表,如下所示:

            <telerik:RadComboBox ID ="regionsDropDown" DataValueField="Region" DataTextField="Region" HighlightTemplatedItems="true"
            runat="server" AllowCustomText="true" Height="150px" Width="200px" OnClientDropDownClosed="onDropDownRegionClosing" AutoPostBack="true">
                <ItemTemplate>
                    <div onclick="StopPropagation(event)">
                        <asp:CheckBox runat="server" ID="chk1" Checked="false" onclick="onCheckBoxRegionClick(this)"/>
                        <asp:Label runat="server" ID="Label1" AssociatedControlID="chk1">
                            <%# Eval("Region")%>
                        </asp:Label>
                    </div>
                </ItemTemplate>
                <FooterTemplate>
                    <asp:Button ID="btnSubmitRegion" runat="server" Text="OK" OnClick="OnSubmitRegion" />
                </FooterTemplate> 
            </telerik:RadComboBox>



            regionsDropDown.DataSource = FTSAppLogic.getRegions();
            regionsDropDown.DataBind();

它完美地显示了所有内容(它们的两个 get 函数几乎相同,返回相同的布局和相同的数据类型)

另外让事情变得更奇怪,我抛出了一个调试中断,发现数据绑定到productDropDown后,数据实际上是绑定的,它不会显示任何内容..

任何人有任何想法为什么?我完全失去了!

4

1 回答 1

0

我认为您在项目模板中以错误的方式使用了标签:

<asp:Label runat="server" ID="Label1" AssociatedControlID="chk1">
         <%# Eval("Region")%>//this is wrong 
</asp:Label>

它应该是:

<asp:Label runat="server" ID="Label1" AssociatedControlID="chk1" 
Text='<%# Eval("Region")%>'</asp:Label>

您需要将数据列分配给标签的文本字段,它是 asp 控件(不像 HTML 标签)。

于 2013-11-30T12:41:06.750 回答