Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Strongly typed data binding and generics?

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?

like image 950
magnattic Avatar asked Sep 03 '12 15:09

magnattic


1 Answers

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>
like image 80
Ian Gilroy Avatar answered Oct 14 '22 10:10

Ian Gilroy