2010-09-14 15 views
11

मैं अपनी वेबसाइट के साथ एक बाहरी टीम के साथ काम कर रहा हूं और उन्होंने हाल ही में अपनी स्क्रिप्ट्स को साइट के .NET मास्टरपेज में जोड़ा है ... ठीक है, अंत में यह मेरी स्क्रिप्ट चल रही है लेकिन अब ... यह बैनर को ' साइट पर हर 'पेज।यदि एचटीएमएल पेज होम पेज है तो jquery स्क्रिप्ट कैसे चलाएं ...?

मैं 'if' कथन कैसे लिख सकता हूं जो मूल रूप से कहता है ... यदि यह होम पेज है ... इस स्क्रिप्ट को चलाएं ... अगर नहीं ...?

+3

एक मास्टर पेज के बिंदु हर पृष्ठ में डेटा शामिल करने के लिए नहीं है इससे पहले कि झूठी: (दृश्य के लिए डिफ़ॉल्ट दृश्य तैयार करना न भूलें? यह "डॉक्टर! चिकित्सक की तरह घबराहट लगता है! जब मैं अपने पैर पर बंदूक आग लगाता हूं तो दर्द होता है!" – Quentin

+2

मुझे यकीन नहीं है कि यह कितना सहायक था, लेकिन यह मजाकिया था ...! – chrisb

+0

निहितार्थ "मास्टर पेज के बजाय विशिष्ट पृष्ठ में '

0

आप नहीं करना चाहिए, लेकिन आप शायद कुछ इस तरह कर सकता है:

if(window.location.pathname == "{home page}") 
{ 
    //run home page jquery. 
} 

लेकिन ... मेरी सलाह है कि दिमाग में रख दिया जाता है मुख पृष्ठ पर एक सामग्री अनुभाग बनाने के लिए किया जाएगा और मास्टरपेज के बजाय jQuery को वहां डाल दें। मास्टरपेज में इसे शामिल करने का कोई कारण नहीं है यदि इसका हर जगह उपयोग नहीं किया जाता है ...

6

मास्टर स्टेज के <head> के अंदर एक स्क्रिप्ट सामग्री प्लेसहोल्डर के बारे में, और उसके बाद प्लेसहोल्डर के अंदर सामग्री को अपने होमपेज से रखें।

असल में ..

अपने मास्टर पृष्ठ में

<head> 
<title>hello</title> etc... 
// add jQuery here 

<asp:ContentPlaceHolder ID="jQueryCode" runat="server"></asp:ContentPlaceHolder> 

और फिर अपने मुख पृष्ठ में

<asp:Content ContentPlaceHolderId="jQueryCode" runat="server"> 
    // run jQuery script here 
</asp:Content> 

इसके अलावा - यदि आप अन्य पृष्ठों पर jQuery का उपयोग नहीं कर रहे हैं, तो आप इसे मास्टर पेज से हटा सकते हैं और होम पेज के अंदर अपनी स्क्रिप्ट के ऊपर इसे जोड़ सकते हैं <asp:Content />

+0

+1, हाँ यह करने के लिए यह कम से कम क्रूर तरीका होगा। –

+0

+1 ऐसा करने का कोई अन्य तरीका माता-पिता वर्ग को इसके उप-वर्गों के बारे में जानने के बराबर की गंध की गंध करेगा। –

+0

मैं इस समाधान को लागू करने के बैकएंड देवताओं के साथ संवाद में हूं। – chrisb

0

आप vb.net उपयोग कर रहे हैं, तो आप सामग्री प्लेसहोल्डर के रूप में ऊपर उल्लेख किया है उपयोग कर सकते हैं लेकिन सिर्फ masterpage vb फ़ाइल को छिपाने के लिए पर एक छोटे से codebehind का उपयोग/प्लेसहोल्डर दिखाने पहली बार इस तरह :) पुनर्निर्माण

<asp:Content ContentPlaceHolderId="jQueryCode" runat="server" visible="false"> 
    // run jQuery script here 
</asp:Content> 
संबंधित मुद्दे