我有一个想要绑定到DataList的字典。但是我也希望将Dictionary的Key值用于DataList的DataKeyField属性。这可能吗?
答案 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]));
}
}