Suppose I want to bind a generic type (here: Dictionary<string, string>
) to a Repeater using the new ASP.NET 4.5 strongly typed data binding.
Then I would have to put down KeyValuePair<string, string>
as the ItemType Property of the Repeater.
<asp:Repeater id="rpCategories" runat="server" ItemType="System.Collections.Generic.KeyValuePair<string, string>">
There is an obvious problem here: I can not use <
or >
within the ItemType text!
How would one go about this? Is the use of generics possible somehow with the new data binding model?
This works for me:
Code behind
protected void Page_Load(object sender, EventArgs e)
{
rpCategories.DataSource = new Dictionary<string, string>()
{
{"1", "item"},{"2", "item"},{"3", "item"},
};
rpCategories.DataBind();
}
Markup
<asp:Repeater ID="rpCategories" runat="server" ItemType="System.Collections.Generic.KeyValuePair`2[System.String,System.String]">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Item.Key %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With