6

मैं जावास्क्रिप्ट बंडल को किसी अन्य फ़ोल्डर (स्क्रिप्ट फ़ोल्डर से अलग) से कैसे काम कर सकता हूं। अगर मैं ऐसा करता हूं:किसी अन्य फ़ोल्डर में जावास्क्रिप्ट बंडलिंग

bundles.Add(new ScriptBundle("~/bundles/search").Include("~/Views/Search/*.js")); 

ब्राउज़र मुझे बताता है कि जावास्क्रिप्ट फ़ाइल नहीं मिल सकती है। क्या यह करना संभव है या मेरी सभी स्क्रिप्ट स्क्रिप्ट फ़ोल्डर में होनी चाहिए?

मूल रूप से मैं चाहता हूँ मेरी जावास्क्रिप्ट मेरी देखें सबफ़ोल्डर में शामिल

+0

आप ऐसा क्यों करेंगे? स्क्रिप्ट एक कारण के लिए स्क्रिप्ट फ़ोल्डर में जाते हैं। संगठन। – Trucktech

+2

संगठन की अवधारणा हर किसी के लिए अलग है। कुछ लोग रंग से व्यवस्थित करना पसंद करते हैं, दूसरों को वर्णमाला द्वारा व्यवस्थित करना पसंद है, ... मैं चाहता हूं कि मेरी जावास्क्रिप्ट उसी फ़ोल्डर में हो, जैसा कि उनका उपयोग किया जाएगा। – PoeHaH

+0

मैं आपके रूट फ़ोल्डर में "संपत्ति" फ़ोल्डर का उपयोग करने की अनुशंसा करता हूं। मैं आम तौर पर "संपत्ति/सीएसएस", "संपत्ति/एसएसएस", "संपत्ति/जेएस" और "संपत्ति/छवियों" का उपयोग करता हूं। – janhartmann

उत्तर

3

आप इस सवाल का जवाब अनुसार Views फ़ोल्डर में web.config को बदलने की जरूरत: एशले ली से In ASP.NET MVC, how can I load script from my view folder?

अच्छा उदाहरण:

<system.webServer> 
    <handlers> 
    <add name="JavascriptViewHandler" path="*.js" verb="*" 
     preCondition="integratedMode" type="System.Web.StaticFileHandler" /> 
    <remove name="BlockViewHandler"/> 
    <add name="BlockViewHandler" path="*" verb="*" 
     preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
</system.webServer> 
+0

आपको यहां प्रश्न के प्रासंगिक हिस्सों को प्रश्न के साथ शामिल करना चाहिए (अन्य स्रोत उद्धृत करने के बजाए)। केवल उस अपराध के लिए एक स्टैक ओवरफ़्लो बंद कारण है। यह ठीक है कि कैसे स्टैक ओवरफ़्लो काम करता है। – jww

+0

बहुत बहुत धन्यवाद! मुझे बहुत समय बचाया। – user3413723

0

मैं पता नहीं है कि क्या मैं आपके प्रश्न को सही तरीके से समझता हूं, लेकिन यदि आप दृश्य में किसी भी फ़ोल्डर से या अधिमानतः लेआउट में किसी स्क्रिप्ट फ़ाइल का उपयोग करना चाहते हैं, तो आप इसे जोड़ सकते हैं आप में से <head> खंड में टैग निम्नलिखित View या _Layout.cshtml:

<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script> 

आप ~/Scripts/jquery-ui.min.js

1

के बजाय अपनी स्क्रिप्ट फ़ाइल के लिए पूर्ण पथ उल्लेख कर सकते हैं जब से तुम विशेष रूप से केवल जावास्क्रिप्ट फ़ाइलों में शामिल हैं, के लिए निम्न परिवर्तन करना चाहते हैं "JavascriptViewHandler" अनुभाग जोड़कर, आपकी ~/Views/web.config फ़ाइल।

<system.webServer> 
    <handlers> 
    <add name="JavascriptViewHandler" path="*.js" verb="*" 
     preCondition="integratedMode" type="System.Web.StaticFileHandler" /> 
    <remove name="BlockViewHandler"/> 
    <add name="BlockViewHandler" path="*" verb="*" 
     preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
</system.webServer> 

यह गैर-जावास्क्रिप्ट फ़ाइलों के लिए वर्तमान ब्लॉकिंग को सुरक्षित रखेगा।

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