2012-03-29 55 views
0

我有一个带有Dictionary<string, Contact>字段的业务对象,我想使用反射将它绑定到ASP.NET DataListDataListItemTemplate定义了四个TextBox控件。其中三个与Dictionary<string, Contact>中的当前对象Contact的属性具有相同的ID。第四个TextBox应绑定到string密钥。将业务对象绑定到ASP.NET DataList

我已经编写了代码去除单个的Contact对象,关键字段,DataList控件和要绑定的属性/模板控件的名称。我遇到的麻烦是为每个控件指定值。

我有下面签名的方法:

private void AssignControlValue(Contact contact, PropertyInfo pi, DataList control, string key = "") 
{ 

} 

什么我需要做的,以配合这个一起?

回答

0

您应该能够将业务对象绑定到DataList。在这种情况下,我想你想绑定到字典的ValueCollection

DataList1.DataSource = dict.Values; 

这样做了以后,你应该能够正常使用数据绑定语法:

<ItemTemplate> 
    <%# Eval("SomeProperty") %> 
</ItemTemplate> 

如果你寻找另一种选择,你也可以使用ObjectDataSource控制。查看下面的链接了解更多详情。

Binding DataList to ObjectDataSource

+0

我能够得到值集合来做诡计。有时候,即使是最明显的事情,你也会盯着某个事物停下来。谢谢! – 2012-03-30 14:20:25

+0

我知道这种感觉!真高兴你做到了 :) – 2012-03-30 14:24:28

相关问题