2012-04-28 18 views
5

निम्नलिखित स्थिति पर विचार करें।उपयोगकर्ता नियंत्रण और जावास्क्रिप्ट और मास्टर पेज

मेरे उपयोगकर्ता नियंत्रण कुछ जावास्क्रिप्ट कि मास्टर पृष्ठ जावास्क्रिप्ट में कुछ संदर्भों (jQuery पुस्तकालय) का इस्तेमाल करते हैं

हां, अगर मेरे उपयोगकर्ता नियंत्रण से पहले मास्टर पृष्ठ जावास्क्रिप्ट प्रदान की गई है, यह काम नहीं करेगा उत्पन्न करता है।

और यह मेरा सवाल यह है: .aspx पेज

या शायद मेरे सभी सोच में सामग्री जावास्क्रिप्ट:

कैसे मैं अपने .ascx फ़ाइल के अंदर कुछ जावास्क्रिप्ट कोड ब्लॉक एएसपी को प्रदान करने की कर सकता हूँ पहना जा रहा है

धन्यवाद!

+0

क्या मास्टर पेज द्वारा एक्साक्स में जावास्क्रिप्ट भी आवश्यक है? – Adil

+0

नहीं, केवल पृष्ठ – YardenST

उत्तर

3

देखने के लिए कि यह आपके लिए काम करता है:

मास्टर पृष्ठ की "नीचे" में

कहाँ? आप इसे बंद करने सर्वर साइड प्रपत्र नियंत्रण अंदर ले जाएँ और अपने उपयोगकर्ता नियंत्रण में ClientScript.RegisterStartupScript उपयोग करते हैं, यह (जोके बाद अपने अपने स्थिर स्क्रिप्ट हो जाएगा "समापन <form/> टैग से पहले" आपके नियंत्रण से है कि स्क्रिप्ट इंजेक्षन जाएगा कहते हैं)।

मास्टर पेज - सही ऊपर समापन सर्वर साइड ASP.Net </form>:

.... 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js "></script> 
</form> 

सामग्री पृष्ठ (कुछ खास नहीं):

<%@ Register src= .... 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> 
    <uc1:jscript_inject ID="jscript_inject1" runat="server" /> 
</asp:Content> 

उपयोगकर्ता नियंत्रण:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "foo", @"alert('foo');", true); 

} 

इस प्रकार यह प्रस्तुत किया गया है (HTML दृश्य इतना ब्राउज़र में urce):

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js "></script> 

<script type="text/javascript"> 
    //<![CDATA[ 
    alert('foo');//]]> 
</script> 
.... 
</form> 

के रूप में विज्ञापित, alert('foo'); "पूर्व निर्धारित" JQ cdn कॉल नीचे है ....

+1

द्वारा। स्टार्टअप स्क्रिप्ट को .ascx फ़ाइल से पंजीकृत करना संभव है? पीछे कोड के माध्यम से बड़ी लिपियों को संभालना बहुत आसान नहीं है – YardenST

0

चीयर्स उपयोगी। दिलचस्प बात यह Page.ClientScript.RegisterStartupScript के लिए काम करती है लेकिन Page.ClientScript.RegisterClientScriptInclude नहीं है, और इसके बजाय 'शामिल' फ़ॉर्म के शीर्ष पर जोड़ा जाता है।

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