我曾经遇到一个问题一直没有解决。我将用两个代码示例来说明,其中一个有效而另一个无效:
Page_Load()
{
FontFamily[] oFamilyFontList = FontFamily.Families;
DropDownList_Fonts.DataSource = oFamilyFontList;
DropDownList_Fonts.DataBind();
string[] colorName = System.Enum.GetNames(typeof(KnownColor));
DropDownList_FontColor.DataSource = colorName;
DropDownList_FontColor.DataBind();
}
<asp:DropDownList
ID="DropDownList_Fonts" DataTextField="Name"
DataValueField="Name" runat="server" >
</asp:DropDownList>
<asp:DropDownList
ID="DropDownList_FontColor" DataTextField="colorName"
DataValueField="colorName" runat="server" >
</asp:DropDownList>
第一个下拉列表框没有任何错误地填充,因为每个oFamilyFontList对象都有一个“Name”属性,它与DataText和DataValue字段绑定。
第二个下拉列表框根本没有属性,只是一个字符串数组。我应该在这两个字段中放置什么才能使它工作?