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

标签 c# asp.net dynamic

我想把数据源绑定(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/

相关文章:

javascript - RequiredField 验证器未触发

c# - 发送多媒体指令

c# - 从 Canvas 继承

c# - 我应该开始学习 ASP Classic 还是 'continue' 学习 ASP.NET?

ASP.NET <location path= 和认证方式

grails - 如何获取 Grails 域对象的属性的类型(类)?

c# - 实体类型 'ModeratedUser'需要定义主键

asp.net - Simplemembership - 添加电子邮件字段并用作登录名

python - 为什么 python 中的空函数调用对于动态编译的 python 代码要慢 15% 左右

c# - 创建运行时确定类型实例的最佳方法