我想把数据源绑定(bind)到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 和 Name,为什么?
最佳答案
也许如果你将元素转换到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>
关于c# - 如何在c#中使用动态语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615545/