将类型为List <string>的数据源绑定到包含项目模板的下拉列表</string>

时间:2014-05-17 11:04:05

标签: c# asp.net data-binding telerik rad-controls

这是我的下拉列表

 <telerik:RadDropDownList ID="ddDefaultValues" runat="server" DropDownWidth="100" Width="20px" HorizontalAlign="Center" CssClass="app-selectbox" AppendDataBoundItems="true" >
            <ItemTemplate>
                <asp:Label ID="Label1" Text='  <%# DataBinder.Eval(Container.DataItem, "String")%>' runat="server">
                </asp:Label>
                <telerik:RadButton runat="server" Text="-" Width="15" CssClass="button-delete" EnableEmbeddedBaseStylesheet="false" EnableEmbeddedSkins="false">
            </telerik:RadButton>
    </ItemTemplate>
</telerik:RadDropDownList>

我将数据绑定到我的下拉列表,就像后面的代码中那样。我正在使用“List&lt; String&gt;”作为数据源

List<String>  liste = new List<String>();
liste.Add("-1");
liste.Add("-2");
ddDefaultValues.DataSource = liste;
ddDefaultValues.DataBind();

但是Text=' <%# DataBinder.Eval(Container.DataItem, "String")%>'无法正常工作我也试过了Text=' <%#Container.DataItem%>',但这种做法也没有用。

如何将dropdownlistitem的值设置为标签的文本?

THX。

1 个答案:

答案 0 :(得分:2)

Container.DataItem应该使用这种简单的结构。它对我有用:

     <telerik:RadDropDownList ID="ddDefaultValues" runat="server" DropDownWidth="100" Width="20px" HorizontalAlign="Center" CssClass="app-selectbox" AppendDataBoundItems="true" >
            <ItemTemplate>
                <asp:Label ID="Label1" Text='<%# Container.DataItem%>' runat="server">
                </asp:Label>
                <telerik:RadButton ID="RadButton1" runat="server" Text="-" Width="15" CssClass="button-delete" EnableEmbeddedBaseStylesheet="false" EnableEmbeddedSkins="false">
            </telerik:RadButton>
    </ItemTemplate>
</telerik:RadDropDownList>

和服务器代码

private void Page_Load(object sender, System.EventArgs e)
{
    List<String> liste = new List<String>();
    liste.Add("-1");
    liste.Add("-2");
    ddDefaultValues.DataSource = liste;
    ddDefaultValues.DataBind();
}

enter image description here