asp.net ajax - प्रदान किए जाने पर मेरे कैलेंडर एंटेंडमेंट को क्यों ओवरलैप किया जा रहा है?




asp.net-ajax calendarextender (4)

मैं एक .NET वेब अनुप्रयोग पर काम कर रहा हूं और मैं उस दिन एक कैलेंडर एक्टमेंडर नियंत्रण का उपयोग कर रहा हूं ताकि उपयोगकर्ता को कोई तिथि निर्दिष्ट कर सकें। किसी कारण के लिए, जब मैं कैलेंडर प्रदर्शित करने के लिए आइकन पर क्लिक करता हूं, तो पृष्ठभूमि पारदर्शी लगती है।

मैं अन्य पृष्ठों पर extender का उपयोग कर रहा हूं और इस समस्या में नहीं चला।

मुझे यकीन नहीं है कि यह उल्लेख के लायक है, लेकिन कैलेंडर एक पैनल के भीतर स्थित है जिसमें उसके पास एक गोल कॉर्नर भरने वाला है, साथ ही साथ नीचे के पैनल (जहां "से" अतिव्यापी है)।

उस पैनल के भीतर, मेरे पास दो कॉलम बनाने के लिए डिव लेआउट सेटअप है।

संपादित करें: दूसरी बात यह है कि यह नोट है कि अनुभाग में जिसका नाम है और उपनाम के लिए "प्लेसहोल्डर" सभी एएसपी.नेट लेबल नियंत्रण हैं, यदि यह मामला है


यह मेरे लिए पारदर्शी नहीं दिखता है, ऐसा लगता है कि यह अन्य तत्वों के पीछे "पीछे" है। क्या आपके पास किसी भी आइटम के लिए निर्दिष्ट "z-index" है?


तो कुछ और घूमते हुए और मैंने इस मुद्दे को समझ लिया। समस्या का एक हिस्सा इस तथ्य से उत्पन्न होता है कि डिवेल लेआउट I सेटअप को दो अलग-अलग कॉलम बनाने की स्थिति का उपयोग कर रहा है: रिश्तेदार और फ्लोट: दाएं / बाएं विशेषताएँ

मैंने जो पढ़ा है, जैसे ही आप एक div टैग की स्थिति विशेषता को बढ़ाने के लिए शुरू करते हैं, यह प्रतिपादन के z- सूचक को प्रभावित करता है, जो केवल जटिल हो जाता है जब कैलेंडर नियंत्रण गतिशील रूप से "ऊपर उठता है"

दुर्भाग्यवश कैलेंडर एक्टमेंडर में कोई Z- इंडेक्स विशेषता नहीं है, जब तक आप कैलेंडर के लिए पूरी शैली लिखना नहीं चाहते हैं, जिसे मैं नहीं करना चाहता। हालांकि, आप अपनी सीएसएस फ़ाइल में निम्न जोड़कर डिफ़ॉल्ट शैली का विस्तार कर सकते हैं:

.ajax__calendar_container { z-index : 1000 ; }

यदि आप किसी सीएसएस फ़ाइल का उपयोग नहीं कर रहे हैं, तो आप इसे अपने पृष्ठ के मुख्य भाग में जोड़ सकते हैं:

<style type="text/css">
   .ajax__calendar_container { z-index : 1000 ; }
</style>

और यह चाल करना चाहिए। यह मेरे लिए काम किया

यदि कुछ कारणों से यह काम नहीं करता (और कुछ लोग अभी भी समस्याओं की रिपोर्ट कर रहे थे), एक छोटे से अधिक "आक्रामक" दृष्टिकोण इनपुट फ़ील्ड्स और कैलेंडर एक्स्टेंडर को एक डीआईवी टैग में लपेट देना था और फिर अपने सीएसएस फ़ाइल / :

.ajax__calendar {
    position: relative;
    left: 0px !important;
    top: 0px !important;
    visibility: visible; display: block;
}
.ajax__calendar iframe
{
    left: 0px !important;
    top: 0px !important;
}

... और उम्मीद है कि यह आपके लिए काम करेगा।


आईई 7 में इस मुद्दे को सुलझाने का एकमात्र तरीका मुझे कुछ अतिरिक्त सीएसएस को उस पृष्ठ पर जोड़ना था जिस पर मुझे समस्या हो रही थी। कोई z-अनुक्रमण या div लपेटने और पुन: स्टाइल का कोई भी प्रभाव नहीं था।

संदर्भों को स्टैकिंग करने वाले नियंत्रण में निम्न परिवर्तन हैं

.ajax__calendar_container
{
    position:static;
}

इसका परिणाम कैलेंडर पॉपअप के रूप में लंबवत नीचे के बजाय सामान्य रूप से प्रवर्धक नियंत्रण के ऊपर खड़ी दिखता है। मेरे लिए स्वीकार्य था।


इस समस्या को सुलझाने का एकमात्र तरीका कैलेंडरएक्सेंडर के लिए कुछ सीएसएस नियम लिखना था। यह मेरे लिए काम किया कोड नीचे है:

https://gist.github.com/carlosmr12/5825371