2011-12-07 9 views
6

私は決して解決していない質問。私は1つが動作し、他にはないここで2つのコードサンプルで説明します: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が結合プロパティ「name」を持つ各オブジェクトので、エラーなしで罰金移入DataTextフィールドとDataValueフィールドを使用します。

2番目のプロパティは全くプロパティを持たず、文字列の配列に過ぎません。おそらく私はそれを動作させるために両方のフィールドの中に置くことができますか?

+0

愚かな質問を属性 - しかし - は、colorNameのアレイ内の任意の値がありますか? – Fischermaen

+0

もちろんありますが、AVDが私の質問に答えました。 –

答えて

6

はい、あなたは、配列をバインドすることができますが、DataTextFieldを削除する必要がありますし、DataValueFieldはたぶん

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

私は本当に馬鹿だと感じる。答えをありがとう、それは働いた。 –

+2

@yahyakh - それには何も愚かではありません。それが明らかに必要なときは助けを求めることをためらってはいけません。 – adatapost

関連する問題