2011-12-07 83 views
6

一個我從未解決的問題。我將舉例說明兩個代碼樣本,其中一個工作和其他不:將字符串數組綁定到DropDownList?

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具有結合屬性「名稱」的錯誤與DataText和DataValue字段。

第二個沒有任何屬性,它只是一個字符串數組。我可能會在兩個領域裏面做些什麼來使其發揮作用?

+0

也許一個愚蠢的問題 - 但是 - 是否有在colorName陣列的任何值? – Fischermaen

+0

當然有,AVD已經回答了我的問題。 –

回答

6

是的,你可以綁定一個數組,但你必須刪除DataTextFieldDataValueField屬性

<asp:DropDownList 
     ID="DropDownList_FontColor" 
     runat="server"> 
</asp:DropDownList> 
+1

我真的覺得很愚蠢。非常感謝你的答案,它的工作。 –

+2

@yahyakh - 它沒有什麼愚蠢的。明確需要時,你應該毫不猶豫地尋求幫助。 – adatapost

相關問題