我有一个像这样的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后,数据实际上是绑定的,它只是不会显示任何一个..
任何人都有任何想法为什么?!我完全失去了!!
答案 0 :(得分: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标签)。