2009-01-06 10 views
7

मैं AjaxControlToolkit संस्करण 3.0.20299.9 में पाया गया ValidatorCalloutExtender का उपयोग कर रहा हूं। सत्यापन एक ब्राउज़र विंडो में हो रहा है जिसमें resizable = 0 सेट है। पॉपआउट बॉक्स अधिकतर देखने योग्य विंडो के बाहर स्थित है - दाईं ओर से।asp.net AJAX को फिर से स्थिति कैसे करें ValidatorCalloutExtender

यह अजाक्स कंट्रोलटूलकिट संस्करण 1.0.10618.0 के साथ सही ढंग से स्थित था। यह वास्तव में लगभग 5px के मार्जिन के साथ देखने योग्य विंडो के दाईं ओर पॉपआउट के दाईं ओर टेक्स्टबॉक्स पर तैर गया। चूंकि हमने AjaxControlToolkit के संस्करणों को अपग्रेड किया है, इसलिए यह अलग-अलग प्रस्तुत करना प्रतीत होता है। क्या किसी को पता है कि पॉपआउट को सही तरीके से स्थिति में लाने के लिए मुझे क्या करना है? मैं .ajax__validatorcallout_ * सीएसएस कक्षाओं के साथ खेल रहा हूं, लेकिन जो कुछ भी मैं बदलता हूं वह वास्तव में प्रदर्शन को खराब करता है।

उत्तर

5

मुझे यह पता चला। सोचा कि मैं रुचि रखने वाले किसी के लिए उत्तर पोस्ट करूंगा। AjaxControlToolkit के दो संस्करणों के बीच प्रतिपादन अलग है। ValidatorCallout विंडो को पुनर्स्थापित करने के लिए मुझे निम्न कार्य करने के लिए निम्न मिला।

आपको सभी .ajax__validatorcallout_ * सीएसएस कक्षाओं को ओवरराइड करना होगा जो टूलकिट आपकी अपनी कस्टम शैलियों के साथ उत्पन्न करता है। यह अजीब है, लेकिन ऐसा लगता है कि इसे ठीक से काम करने के लिए आपको प्रत्येक शैली को ओवरराइड करना होगा। मैंने जेनरेट की जा रही शैलियों को खोजने के लिए फ़ायरफ़ॉक्स वेब देव टूलबार का उपयोग किया और फिर मैंने उन्हें निम्नानुसार ओवरराइड किया।

<style> 

.CustomValidator {position:relative;margin-left:-80px;} 

.CustomValidator div {border:solid 1px Black;background-color:LemonChiffon; position:relative;} 

.CustomValidator td {border:solid 1px Black;background-color:LemonChiffon;} 

.CustomValidator .ajax__validatorcallout_popup_table {display:none;border:none;background-color:transparent;padding:0px;} 

.CustomValidator .ajax__validatorcallout_popup_table_row {vertical-align:top;height:100%;background-color:transparent;padding:0px;} 

.CustomValidator .ajax__validatorcallout_callout_cell {width:20px;height:100%;text-align:right;vertical-align:top;border:none;background-color:transparent;padding:0px;} 

.CustomValidator .ajax__validatorcallout_callout_table {height:100%;border:none;background-color:transparent;padding:0px;} 

.CustomValidator .ajax__validatorcallout_callout_table_row {background-color:transparent;padding:0px;} 

.CustomValidator .ajax__validatorcallout_callout_arrow_cell {padding:8px 0px 0px 0px;text-align:right;vertical-align:top;font-size:1px;border:none;background-color:transparent;} 

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv {font-size:1px;position:relative;left:1px;border-bottom:none;border-right:none;border-left:none;width:15px;background-color:transparent;padding:0px;} 

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv div {height:1px;overflow:hidden;border-top:none;border-bottom:none;border-right:none;padding:0px;margin-left:auto;} 

.CustomValidator .ajax__validatorcallout_error_message_cell {font-family:Verdana;font-size:10px;padding:5px;border-right:none;border-left:none;width:100%;} 

.CustomValidator .ajax__validatorcallout_icon_cell {width:20px;padding:5px;border-right:none;} 

.CustomValidator .ajax__validatorcallout_close_button_cell {vertical-align:top;padding:0px;text-align:right;border-left:none;} 

.CustomValidator .ajax__validatorcallout_close_button_cell .ajax__validatorcallout_innerdiv {border:none;text-align:center;width:10px;padding:2px;cursor:pointer;} 

</style> 

नोट: मैं पहली बार .CustomValidator {: रिश्तेदार; margin-left: स्थिति -80px;} जोड़ा कक्षाएं जेनरेट किए गए करने के लिए लाइन। मैंने भी। कस्टम वैलिडेटर div, .CustomValidator td तोड़ दिया ताकि मैं स्थिति जोड़ सकूं: सापेक्ष; div के लिए और टीडी नहीं। मार्जिन-बाएं: -80 पीएक्स वह है जो मुझे बाकी सब कुछ बदलने के लिए जरूरी था।

तो बस अपने ValidatorCalloutExtender में CustomValidator CssClass छड़ी:

<cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" TargetControlID="MyValidatorControl" CssClass="CustomValidator"> 
0

क्या यह सभी ब्राउज़रों में होता है? आईई 6 मुद्दों को प्रस्तुत करने के लिए जाना जाता है और मैं अत्यधिक कुछ और उपयोग करने की सलाह देता हूं। आईई 7, एफएफ, सफारी, आईई 6 के अलावा कुछ भी।

क्या वैधकर्ता बाहरी div के भीतर रखा गया है? बाहरी div के सीएसएस की जांच करें।

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