Problem with ScriptManager and ASP.NET AJAX Timer -


मेरे ASP.NET AJAX अनुप्रयोग के साथ मुझे एक गंभीर समस्या है।

एक जावास्क्रिप्ट है मेरे आवेदन में समारोह Timer_Tick घटना के बाद निष्पादित करने की आवश्यकता है इसके पीछे कोड है:

  शून्य सेटवेल्ज़ () {try {StringBuilder sbScript = new StringBuilder ()) SbScript.Append ("& lt; स्क्रिप्ट भाषा = 'जावास्क्रिप्ट' प्रकार = 'टेक्स्ट / जावास्क्रिप्ट' & gt;"); SbScript.Append ("फ़ंक्शन अपडेट वैल्यू () {"); के लिए (इंट जे = 0; जे एंड एलटी; iTotalDevices; j ++) {sbScript.Append ("सेटएलेमेंटवैल्यू (" + j.ToString () + "," + उपकरणइन्फो [जे] .X.ToString () + "," + + उपकरणइन्फो [जे] .Y.ToString () + "," + iStatus.ToString () + "," + डिवाइसइन्फ़ो [जे] .डिवाइसआईड.ToString () + ");"); } SbScript.Append ("}"); sbScript.Append ( "& lt; / स्क्रिप्ट & gt;"); ScriptManager.RegisterStartupScript (यह, यह। GetType (), "myscript", sbScript.ToString (), गलत); } पकड़ {}} संरक्षित शून्य टाइमर 1 वोल्ट (ऑब्जेक्ट प्रेषक, इवेंटएआरजीएस ई) {///} इस फ़ंक्शन को डेटाबेस GetNewData () से नवीनतम मान मिलेगा; SetValues ​​(); }  

जब मैं पहली बार जावास्क्रिप्ट फंक्शन 'अपडेट वैल्यू' (ऑनलोड पेज इवेंट) पर कॉल करता हूं, तो यह सही ढंग से काम करता है। लेकिन टाइमर-टिट की घटना के बाद, यह कुछ नहीं करता। यह HTML कोड है:

  & lt; script type = "text / javascript" language = "javascript" & gt; फ़ंक्शन PageLoad () {/// कॉल पहली बार के लिए समारोह और यह UpdateValue () काम करता है; } Function setElementValue (सूचकांक, मान 1, मान 2, मान 3 ...) {/ वस्तु ऑब्जेक्ट सरणी में प्रत्येक तत्व के लिए सेट मान} & lt; / script & gt; & Lt; बॉडी ऑनलोड = "पेजलोड ()" & gt; & Lt; asp: ScriptManager id = "ScriptManager1" runat = "server" / & gt; & Lt; एएसपी: टाइमर आईडी = "टाइमर 1" रनैट = "सर्वर" ऑनटिक = "टाइमर 1 टिकट" अंतराल = "30000" & gt; & Lt; / body & gt;  

ScriptManager या Timer_Tick घटना के साथ क्या समस्या है?

बहुत धन्यवाद,

ऐसा लगता है कि आप हर बार टाइमर 1 डाइट कार्यान्वित करते समय अद्यतन वैल्यू फ़ंक्शन दर्ज कर रहे हैं।

अपने SetValues ​​फ़ंक्शन को इसे बदलने का प्रयास करें:

  शून्य सेटवेल्ज़ () {try {stringbuilder sbScript = new stringbuilder (); SbScript.Append ("& lt; स्क्रिप्ट भाषा = 'जावास्क्रिप्ट' प्रकार = 'टेक्स्ट / जावास्क्रिप्ट' & gt;"); के लिए (इंट जे = 0; जे एंड एलटी; iTotalDevices; j ++) {sbScript.Append ("सेटएलेमेंटवैल्यू (" + j.ToString () + "," + उपकरणइन्फो [जे] .X.ToString () + "," + + उपकरणइन्फो [जे] .Y.ToString () + "," + iStatus.ToString () + "," + डिवाइसइन्फ़ो [जे] .डिवाइसआईड.ToString () + ");"); } SbScript.Append ("& lt; / script & gt;"); ScriptManager.RegisterClientScriptBlock (यह, यह। GetType (), string.Format ("myscript {0}", दिनांकटाइम.Now.ToString ("yyyyMMDHHmmss")), sbScript.ToString (), झूठी); } पकड़ {}}  

संपादित करें: नोटिस कि मैं RegisterStartupScript के बजाय RegisterClientScriptBlock का उपयोग कर रहा हूँ इसके अलावा, "myscript" एक अनोखी कुंजी होनी चाहिए, इसलिए मैंने उस हिस्से को अभी अपडेट किया।


Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -