2012-03-29 103 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