Data binding 到dynamics和ExpandoObjects的数据绑定在.NET中工作吗
就我的一生而言,我似乎无法将数据绑定到动态或扩展对象 我曾在WinForms和WebForms中尝试过这一点,但每次都得到了不同的结果: 在ASP.NET中:Data binding 到dynamics和ExpandoObjects的数据绑定在.NET中工作吗,data-binding,expandoobject,Data Binding,Expandoobject,就我的一生而言,我似乎无法将数据绑定到动态或扩展对象 我曾在WinForms和WebForms中尝试过这一点,但每次都得到了不同的结果: 在ASP.NET中: <asp:DropDownList ID="DropDownList1" runat="server"> </asp:DropDownList> protected void Page_Load(object sender, EventArgs e) { dynamic conta
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
protected void Page_Load(object sender, EventArgs e)
{
dynamic contacts = new List<dynamic>();
contacts.Add(new ExpandoObject());
contacts[0].Name = "Patrick Hines";
contacts[0].Phone = "206-555-0144";
contacts.Add(new ExpandoObject());
contacts[1].Name = "Ellen Adams";
contacts[1].Phone = "206-555-0155";
DropDownList1.DataSource = contacts;
DropDownList1.DataTextField = "Name";
DropDownList1.DataBind();
}
受保护的无效页面加载(对象发送方、事件参数e)
{
动态联系人=新列表();
contacts.Add(新的expandooobject());
联系人[0]。Name=“Patrick Hines”;
联系人[0]。电话=“206-555-0144”;
contacts.Add(新的expandooobject());
联系人[1]。姓名=“艾伦·亚当斯”;
联系人[1]。电话=“206-555-0155”;
DropDownList1.DataSource=联系人;
DropDownList1.DataTextField=“Name”;
DropDownList1.DataBind();
}
这导致:
数据绑定:“System.Dynamic.ExpandoObject”不包含名为“name”的属性。
在WinForms中,我有一个不同的问题:
dynamic contacts = new List<dynamic>();
contacts.Add(new ExpandoObject());
contacts[0].Name = "Patrick Hines";
contacts[0].Phone = "206-555-0144";
contacts.Add(new ExpandoObject());
contacts[1].Name = "Ellen Adams";
contacts[1].Phone = "206-555-0155";
this.departmentList.DataSource = contacts;
this.departmentList.DisplayMember = "Name";
dynamic contacts=new List();
contacts.Add(新的expandooobject());
联系人[0]。Name=“Patrick Hines”;
联系人[0]。电话=“206-555-0144”;
contacts.Add(新的expandooobject());
联系人[1]。姓名=“艾伦·亚当斯”;
联系人[1]。电话=“206-555-0155”;
this.departmentList.DataSource=联系人;
this.departmentList.DisplayMember=“Name”;
这导致组合框显示“System.Dynamic.ExpandoObject”-因为它只是对集合中的两个项调用ToString()(
谢谢你的帮助!试试这个
var contacts = new List<dynamic>()
{
new {Name = "Patrick Hines",Phone = "206-555-0144"},
new {Name = "Ellen Adams",Phone = "206-555-0155"}
};
var contacts=新列表()
{
新{Name=“Patrick Hines”,Phone=“206-555-0144”},
新{Name=“Ellen Adams”,Phone=“206-555-0155”}
};
我无法与这些api对话,但动态数据绑定在WPF中确实有效。您是否看到了此问题以及其他问题的答案?我没有发现错误,但在Windows应用商店应用程序中,读取的初始值很好,但随后的更改通知似乎不起作用。