2010-06-09 11 views
16

ठीक के भीतर पेज पोस्टबैक पर काम नहीं कर रहा है - इसलिए एक कस्टम डेटपिकर नियंत्रण का उपयोग करने वाली प्रणाली पर काम कर रहा हूं (मुझे पता है कि वहां अन्य लोग भी हैं .. लेकिन स्थिरता के लिए समझना क्यों होगा मेरा वर्तमान मुद्दा हो रहा है और इसे ठीक करें)।रजिस्टरस्टार्टअपस्क्रिप्ट अद्यतन पैनल

तो एक पाठ बॉक्स के साथ और Page_PreRender पर अपनी एक कस्टम उपयोगकर्ता नियंत्रण करता है:

protected void Page_PreRender(object sender, EventArgs e) 
    { 

     string clientScript = @" 
     $(function(){ 
     $('#" + this.Date1.ClientID + @"').datepicker({dateFormat: 'dd/mm/yy', constrainInput: true}); 
     });"; 
     Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, clientScript, true); 

     //Type t = this.GetType(); 
     //if (!Page.ClientScript.IsStartupScriptRegistered(t, this.ClientID)) 
     //{ 
     // Page.ClientScript.RegisterStartupScript(t, this.ClientID, clientScript, true); 
     //} 
    } 

बाहर सामान टिप्पणी की ध्यान न दें - मदद नहीं की - कि मुझे कुछ अलग कोशिश कर रहा था।

मेरी समस्या यह है कि जब मैं पृष्ठ लोड करता हूं तो यह सब ठीक काम करता है। लेकिन अगर मैं एक पृष्ठ पोस्टबैक के कारण ड्रॉपडाउन सूची से कुछ चुनता हूं - जब मैं अपने दिनांक फ़ील्ड में क्लिक करता हूं तो वे काम करना बंद कर देते हैं। जैसा कि मैं टेक्स्टबॉक्स में क्लिक करने में सक्षम होना चाहिए और एक अच्छा कैलेंडर नियंत्रण प्रकट होता है। लेकिन पोस्टबैक के बाद कोई अच्छा कैलेंडर नियंत्रण दिखाई नहीं दे रहा है!

वर्तमान में यह सभी अद्यतन पैनल के अंदर लपेटा गया है (होस्टिंग पेज में)। इसलिए मैं अद्यतन पैनल सामग्री पर टिप्पणी करता हूं और पेज पोस्टबैक के बाद तिथियां काम कर रही हैं। तो यह उस अद्यतन पैनल से संबंधित कुछ प्रतीत होता है।

कोई सुझाव कृपया?

धन्यवाद !!

उत्तर

29

क्या आपने पेज.क्लिंटस्क्रिप्ट के बजाय ScriptManager की कोशिश की है? मैंने कुछ कोड देखा जो मैंने अपडेटपेनल और jQuery के साथ पहले लिखा था और मैंने स्क्रिप्ट मैनेजर का उपयोग किया था। मुझे लगता है कि स्क्रिप्ट आंशिक पोस्टबैक के दौरान उपलब्ध नहीं है अगर यह ScriptManager के साथ पंजीकृत नहीं है।

इस तरह लग रहा है:

ScriptManager.RegisterStartupScript(Page, this.GetType(), "DatePickerScript", clientScript, true); 
+0

धन्यवाद इतना :) मैंने सोचा कि मैं पहले इस समस्या का सामना करते हैं, लेकिन विकल्प याद नहीं कर सकता है !! – Jen

+1

धन्यवाद, मुझे बहुत समय बचाया। –

+1

बहुत सारे सिर खरोंच के बाद, यह मेरे लिए काम किया। धन्यवाद!!! – Yass

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