2010-09-13 11 views
10

क्या एएसपीएक्स सीएस के पीछे कोड से गतिशील रूप से जावास्क्रिप्ट संदर्भ जोड़ना संभव है?कोड के पीछे जावास्क्रिप्ट संदर्भ जोड़ें (सी #)

इस तरह:

private void AddScriptReference(string path) 
{ 
    //Add reference to <head></head> 
} 

एक स्क्रिप्ट संदर्भ में परिणाम चाहिए इस तरह पेज के सिर में जोड़ा जा रहा,:

<html> 
    <head> 
     <script type="text/javascript" src="path-to-script.js"></script> 
    </head> 
</html> 

यह संभव है?

उत्तर

6

ऐसा करने के लिए आप ASP.NET Ajax ScriptManager का उपयोग कर सकते हैं।

इसे अपने मास्टरपेज में जोड़ें, और अपने कोडबेंड से ScriptManager.RegisterClientScriptInclude का उपयोग करें।

+0

धन्यवाद, मुझे यह पता होना चाहिए था: पी – Martin

8

जो लोग वाक्य रचना जानना चाहता हूँ के लिए, यहाँ यह है:

मास्टर पृष्ठ:

<asp:ScriptManager ID="ScriptManager" EnablePageMethods="true" runat="server"></asp:ScriptManager> 

कोड के पीछे:

ScriptReference sr = new ScriptReference("path-to-js.js"); 
ScriptManager sm = (ScriptManager)this.Master.FindControl("ScriptManager"); 
sm.Scripts.Add(sr); 

या:

ScriptManager.RegisterClientScriptInclude(this.Page, GetType(), "UniqueID", "path-to-js.js"); 

लेकिन इन समाधानों में से कोई भी नहीं वास्तव में पृष्ठ के शीर्ष पर स्क्रिप्ट जोड़ें ..

26

देर से बिट लेकिन सोचा कि अगर किसी और को इसकी आवश्यकता हो तो मैं इसका जवाब दूंगा। यह समाधान स्क्रिप्ट मैनेजर की आवश्यकता को अस्वीकार करता है।

असल में, यह केवल नियंत्रण बनाने और फिर सिर में जोड़ने का मामला है। कोड यहाँ है।

LiteralControl javascriptRef = new LiteralControl("<script type='text/javascript' src='path_to_script.js'></script>"); 

Page.Header.Controls.Add(javascriptRef); 
+0

मैं गैर-स्क्रिप्ट मैनेजर समाधान की सराहना करता हूं। यह प्रोग्रामिंग हेडर में स्क्रिप्ट लिंक लोड करने की अनुमति देता है (उदाहरण के लिए मैं इसे साइट पेज पर .js वज़न प्रबंधित करने के लिए मास्टरपेज में उपयोग कर रहा हूं)। – secretwep

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