4

データソースを GridView にバインドしたいのですが、データソースが動的であるため機能しません。だれが手を貸してくれますか? ありがとうございました!

/ * *** c#** * ** * * /

List<dynamic> dyList = new List<dynamic>();
dynamic info1 = new ExpandoObject();
info1.FFID = 1;
info1.Name = "Bill1";

dynamic info2 = new ExpandoObject();
info2.FFID = 2;
info2.Name = "Bill2";

dyList.Add(info1);
dyList.Add(info2);

Repeater1.DataSource = dyList;
Repeater1.DataBind();

/ * *** aspx * ** * *** /

<asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
            <%# Eval("FFID") %> <%# Eval("Name") %>
        </ItemTemplate>
    </asp:Repeater>

FFid と名前が見つかりません。なぜですか?

4

1 に答える 1

5

おそらく、アイテムをキャストするとdynamic

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
         <%# ((dynamic)Container.DataItem).FFID %>
     </ItemTemplate>
</asp:Repeater>


またはへIDictionary<string, object>。(ExpandoObjectそれを実装します)

<asp:Repeater ID="Repeater1" runat="server">
     <ItemTemplate>
          <%# ((IDictionary<string, object>)Container.DataItem)["FFID"] %>
     </ItemTemplate>
</asp:Repeater>
于 2012-05-16T09:29:34.340 に答える