मेरे पास एक ड्रॉपडाउन है, मेरे पास डेटासॉर है, मेरे पास AutoPostBack
true
पर सेट है।
मैं डेटास्रोत में पहली प्रविष्टि जोड़ना चाहता हूं जो कुछ कहता है "--- देश चुनें ---" और इस प्रविष्टि को चुनने से पोस्टबैक नहीं होगा।
ऐसा लगता है कि ऐसा करना आसान होना चाहिए, फिर भी मुझे कोई अच्छा समाधान नहीं मिल रहा है।
धन्यवाद।मैं एक खाली पहली प्रविष्टि कैसे जोड़ सकता हूं <asp: DropDownList>?
उत्तर
अपने aspx पृष्ठ में (महत्वपूर्ण हिस्सा databound घटना से निपटने और CausesValidation = "true" मान्यता इस सूची में नीचे एक बूंद के लिए मजबूर करने की स्थापित कर रही है):
<asp:DropDownList ID="ddlCountries" runat="server" DataSourceID="dsCountries" AutoPostBack="true" OnDataBound="ddlCountries_DataBound" CausesValidation="true" />
<asp:RequiredFieldValidator ID="rfvCountries" runat="server" ControlToValidate="ddlCountries" Display="Dynamic" ErrorMessage="Please select a country." />
अपने codebehind में (यह महत्वपूर्ण है कि है डाला आइटम के मूल्य आवश्यक फ़ील्ड सत्यापनकर्ता काम करने के लिए String.Empty है):
protected void ddlCountries_DataBound(Object sender, EventArgs e)
{
ddlCountries.Items.Insert(0, new ListItem("--- select country ---", String.Empty));
}
नोट: करने के लिए " आप सत्यापनकर्ता के संदेश को प्रदर्शित करने के लिए नहीं करना चाहते हैं," प्रदर्शन "गुण सेट कोई नहीं "।
+1 यह सिर्फ एक के लिए पोस्टबैक नहीं होने की इच्छा का ख्याल नहीं रखता है वस्तु लेकिन मुझे यकीन नहीं है कि नियंत्रण के पुनर्निर्मित व्यापक जावास्क्रिप्ट के बाहर कोई भी समाधान ऐसा करेगा। मुझे लगता है कि यह सबसे अच्छा सरल समाधान है। –
मैंने अपना उत्तर एक वैधकर्ता शामिल करने के लिए अपडेट किया है जिसे एक आइटम के लिए वापस पोस्ट न करने का ख्याल रखना चाहिए। –
+1 (यदि आवश्यक फ़ील्ड वैलिडेटर काम नहीं करता है, तो केवल तुलनात्मकता का उपयोग करें) – user39603
आप डिज़ाइनर के माध्यम से मैन्युअल रूप से पंक्ति भी जोड़ सकते हैं लेकिन आपको यह सुनिश्चित करना होगा कि DropDownList की संपत्ति AppendDataBoundItems = True भी है ताकि डाटाबेस पंक्तियों को पहली पंक्ति पर निपटाया जा सके।
आपको इस से सावधान रहना होगा। सुनिश्चित करें कि प्रत्येक बार पृष्ठ लोड होने पर आप डेटाबेस को डाटाबेस नहीं करते हैं, अन्यथा आपकी ड्रॉपडाउन सूची पेज लोड होने पर हर बार जोड़ दी जाएगी। – Nasir
अच्छा बिंदु, मुझे याद है कि उस शुरुआत के साथ-साथ जब मैंने पहली बार डीडीएल के साथ काम करना शुरू किया था। – TheTXI
पिछला जवाब मूल्य डालने के साथ सौदा करता है, लेकिन मुझे लगता है कि आपकी समस्या ऑटोपोस्टबैक संपत्ति है। मुझे लगता है कि आप उस मूल्य को वापस नहीं करना चाहते हैं और यह आपकी समस्या है, क्या मैं सही हूँ?
शायद एक बेहतर समाधान है, लेकिन मैं ऑटोपोस्टबैक का उपयोग न करने का सुझाव दूंगा। आप चुने गए मूल्य परिवर्तन ईवेंट का उपयोग कर स्वचालित रूप से पोस्टबैक को संभाल सकते हैं।
IMHO यदि ऑटोपोस्टबैक आपके इच्छित काम नहीं करता है, तो अपने स्वयं के समाधान को लागू करना हमेशा बेहतर होता है ताकि इसे "ठीक" करने के लिए किसी प्रकार का "पैच" डाला जा सके।
आशा है कि
धन्यवाद। लेकिन मुझे लगता है कि यह बॉक्स के बाहर काम करना चाहिए। ऑटोपोस्टबैक के साथ, पहली प्रविष्टि का चयन करने का कोई तरीका नहीं है। तो आपको ऐसा कुछ डालना होगा जो कुछ भी नहीं करता है। – vitule
में मदद करता है के रूप में दूसरों एक मूल्य के साथ सूचकांक 0 में आइटम जोड़ने के लिए सुझाव दिया है डालने विधि का उपयोग करें (उदाहरण के 'अज्ञात' के लिए) का चयन नहीं किया इंगित करने के लिए। फिर वैधकर्ताओं का उपयोग करें, एक आवश्यक फ़ील्ड सत्यापनकर्ता जोड़ें और नई सूची आइटम (हमारे उदाहरण में 'अज्ञात') के मूल्य में InitialValue प्रॉपर्टी सेट करें।
पेज लोड पर चयनित आइटम होने के लिए सूचकांक 0 सेट करें और यदि पोस्टबैक नहीं है।
यदि उपयोगकर्ता कोई अन्य विकल्प नहीं चुनता है तो सत्यापनकर्ता पोस्टबैक को रोक देगा।
आशा है कि आप जो खोज रहे हैं।
- 1. मैं सूची की पहली स्थिति में कैसे जोड़ सकता हूं?
- 2. <asp: ControlParameter - sqldatasource
- 3. मैं एक ईएफ 4 कोड पहली इकाई में एक छवि प्रकार कैसे जोड़ सकता हूं?
- 4. एलएलबीएलजेन: मैं एक प्रविष्टि को नरम कैसे कर सकता हूं
- 5. JComboBox: पहली प्रविष्टि रिक्त प्रविष्टि होना चाहते हैं
- 6. मैं एक साथ कई रिपोर्ट कैसे जोड़ सकता हूं?
- 7. मैं monodevelop में एक संदर्भ कैसे जोड़ सकता हूं?
- 8. आर: मैं एक वेक्टर को कैसे जोड़ सकता हूं?
- 9. मैं सी # में एक स्पलैश स्क्रीन कैसे जोड़ सकता हूं?
- 10. मैं पहली त्रुटि पर कैसे जा सकता हूं?
- 11. मैं PHP में खाली/खाली SimpleXMLElement कैसे बना सकता हूं?
- 12. मैं स्ट्रिंग सरणी में नया आइटम कैसे जोड़ सकता हूं?
- 13. मैं GDataXMLNode का उपयोग कर एक सीडीएटी ब्लॉक कैसे जोड़ सकता हूं?
- 14. मैं एक पूर्ण/खाली डीएसीएल कैसे बना सकता हूं?
- 15. मैं matplotlib में एक खाली सबप्लॉट कैसे बना सकता हूं?
- 16. मैं हास्केल में हैंडल कैसे जोड़ सकता हूं?
- 17. मैं एकाधिक चयनों के परिणाम कैसे ले सकता हूं और एक पंक्ति में जोड़ सकता हूं
- 18. क्या मैं एकाधिक निर्देशिकाओं को एक में जोड़ सकता हूं?
- 19. मैं फ़ाइल से पहली पंक्ति कैसे पढ़ सकता हूं?
- 20. मैं मौजूदा तालिका में कॉलम कैसे जोड़ सकता हूं?
- 21. मैं फ्रेंच ट्रेडमार्क प्रतीक (एमडी) कैसे जोड़ सकता हूं?
- 22. मैं एटीजेएस ग्रिड में पंक्ति संख्या कैसे जोड़ सकता हूं?
- 23. मैं UINavigationBar में एकाधिक UIBarButtonItem को कैसे जोड़ सकता हूं?
- 24. मैं फ्लास्क में पृष्ठभूमि थ्रेड कैसे जोड़ सकता हूं?
- 25. मैं मौजूदा java.io.ObjectStream में कैसे जोड़ सकता हूं?
- 26. मैं WWW :: मशीनीज़ में प्रगति पट्टी कैसे जोड़ सकता हूं?
- 27. मैं सी में दो सरणी कैसे जोड़ सकता हूं?
- 28. मैं Django व्यवस्थापक को WSYWYG संपादक कैसे जोड़ सकता हूं?
- 29. मैं .apply() विधि में कॉलबैक कैसे जोड़ सकता हूं?
- 30. मैं अपनी पर्ल स्क्रिप्ट में अंतर्राष्ट्रीयकरण कैसे जोड़ सकता हूं?
क्या आप इस बारे में टिप्पणी कर सकते हैं कि आप बाकी सूची कैसे बना रहे हैं (डेटा बाध्यकारी बनाम ddl.Items.Add()) –
क्या आप वास्तव में पोस्टबैक नहीं करना चाहते हैं यदि उपयोगकर्ता "कृपया चुनें" प्रविष्टि का चयन करता है? क्या होगा यदि उपयोगकर्ता कुछ अन्य प्रविष्टि का चयन करता है, फिर "कृपया चुनें" पर वापस स्विच करता है। क्या आप इसे पहचानना नहीं चाहते हैं? बेशक मुझे आपके ऐप के बारे में कुछ भी पता नहीं है लेकिन आप यहां क्या कहते हैं, तो शायद यह संदर्भ में सही मायने रखता है। (और मुझे पता है कि मैं मूल पोस्ट के 5 साल बाद इस सवाल से पूछ रहा हूं। उम्मीद है कि आपने इसे अभी तक समझ लिया है!) – Jay