Вопрос, который я никогда не решал.Я проиллюстрирую два примера кода, в которых один работает, а другой нет:
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>
Первый DropDownList прекрасно заполняется без каких-либо ошибок, потому что у каждого объекта oFamilyFontList есть свойство Name, которое связываетс полями DataText и DataValue.
У второго вообще нет свойств, и это просто массив строк.Что, возможно, я могу поместить в оба поля, чтобы оно работало?