如何在c#中使用动态语法?

Jej*_*olf 4 c# asp.net dynamic

我想将数据源绑定到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();
Run Code Online (Sandbox Code Playgroud)

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

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

找不到FFid和名字,为什么?

Mag*_*nus 5

也许你投了这个项目 dynamic

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


或者IDictionary<string, object>.(ExpandoObject实现)

<asp:Repeater ID="Repeater1" runat="server">
     <ItemTemplate>
          <%# ((IDictionary<string, object>)Container.DataItem)["FFID"] %>
     </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)