2011-12-07 10 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 एक संपत्ति 'नाम' जो बांधता है बिना ठीक भरता है डेटाटेक्स्ट और डेटावैलू फ़ील्ड के साथ।

दूसरे के पास कोई गुण नहीं है और यह केवल तारों की एक सरणी है। मैं इसे बनाने के लिए दोनों क्षेत्रों के अंदर क्या संभवतः रख सकता हूं?

+0

हो सकता है कि - लेकिन - वहाँ colorName सरणी में किसी भी मान रहे हैं? – Fischermaen

+0

वहाँ है, एवीडी ने मेरे प्रश्न का उत्तर दिया है। –

उत्तर

6

हाँ, आप एक सरणी बाध्य कर सकते हैं, लेकिन आप DataTextField दूर करने के लिए है और DataValueField एक बेवकूफ सवाल का श्रेय

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

मैं वास्तव में बेवकूफ महसूस करता हूँ। उत्तर के लिए बहुत बहुत धन्यवाद, यह काम किया। –

+2

@yahyakh - इसमें कुछ भी बेवकूफ नहीं है। स्पष्ट रूप से इसकी आवश्यकता होने पर आपको सहायता मांगने में कभी भी संकोच नहीं करना चाहिए। – adatapost

संबंधित मुद्दे