2011-08-08 15 views
6

मैं क्लाइंटस्क्रिप्ट प्रबंधक के बजाय मेरी कक्षा लाइब्रेरी प्रोजेक्ट में स्क्रिप्ट मैनेजर का संदर्भ जोड़ना चाहता हूं, क्या यह संभव है?एएसपी.नेट - कक्षा पुस्तकालय संदर्भ में स्क्रिप्ट मैनेजर का उपयोग

+0

क्या आप इस प्रश्न को दोहरा सकते हैं? मुझे समझ में नहीं आता कि समस्या क्या है। स्क्रिप्ट मैनेजर आमतौर पर एक एएसपी.नेट टैग होता है, यह सुनिश्चित नहीं करता कि आप क्लास लाइब्रेरी में इसे कैसे जोड़ देंगे। – Nate

उत्तर

9

मुझे लगता है कि आप क्लास लाइब्रेरी में ScriptManager को संदर्भित करने के बारे में नहीं जानते हैं, जहां आमतौर पर इन WebControls संदर्भित नहीं होते हैं। इसके अलावा मुझे लगता है कि आपको कक्षा पुस्तकालय से एक स्थिर संदर्भ में पृष्ठ का संदर्भ कैसे प्राप्त करना है, यह जानने की भी आवश्यकता है।

ScriptManager प्राप्त करने के लिए आपको अपनी कक्षा लाइब्रेरी प्रोजेक्ट में System.Web.Extensions का संदर्भ जोड़ना होगा।

एक स्थिर संदर्भ आप System.Web नाम स्थान जोड़ने की जरूरत में पेज के लिए एक संदर्भ पाने के लिए, तो रिटर्न निम्नलिखित वर्तमान पृष्ठ के ScriptManager:

सी #:

var http = System.Web.HttpContext.Current; 
if ((http != null)) { 
    var page = http.CurrentHandler as Web.UI.Page; 
    if (page != null) { 
     var scriptManager = System.Web.UI.ScriptManager.GetCurrent(page); 
    } 
} 

VB.NET:

Dim http = Web.HttpContext.Current 
If Not http Is Nothing Then 
    Dim page = TryCast(http.CurrentHandler, Web.UI.Page) 
    If Not page Is Nothing Then 
     Dim scriptManager = System.Web.UI.ScriptManager.GetCurrent(page) 
    End If 
End If 
+0

ठीक है! धन्यवाद! लेकिन मुझे कोई समस्या है, मैं इस तरीके से RegisterClientScriptBlock विधि को स्वीकार नहीं कर सकता। तुम जानते हो क्यों? –

+0

रजिस्टर क्लाइंटस्क्रिप्टब्लॉक विधि स्थिर/साझा है। इसलिए यह काम करेगा: 'System.Web.UI.ScriptManager.RegisterClientScriptBlock (पेज, पेज। गेट टाइप, "स्क्रिप्टकी", "आपकी स्क्रिप्ट", सही) ' –

+0

ठीक है! आपका बहुत बहुत धन्यवाद! –

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