将DataList绑定到Dictionary

时间:2009-03-14 00:37:36

标签: c# asp.net

我有一个想要绑定到DataList的字典。但是我也希望将Dictionary的Key值用于DataList的DataKeyField属性。这可能吗?

1 个答案:

答案 0 :(得分:2)

是。使用“Key”作为DataKeyField:

<asp:DataList ID="datalist" runat="server" DataKeyField="Key">
    <ItemTemplate>
        <asp:Label runat="server" Text='<%# Eval("Value") %>'></asp:Label>
    </ItemTemplate>
</asp:DataList>

代码:

protected void Page_Load(object sender, EventArgs e)
{
    Dictionary<string, string> dictionary = new Dictionary<string, string>()
    {
        {"a", "aaa"},
        {"b", "bbb"},
        {"c", "ccc"}
    };
    datalist.DataSource = dictionary;
    datalist.DataBind();

    for (int i = 0; i < datalist.Items.Count; i++)
    {
        Response.Write(string.Format("datalist.DataKeys[{0}] = {1}<br />", i, datalist.DataKeys[i]));
    }
}