2015-12-11 12 views
5

में कोणीय निर्देश टेम्पलेट यूआरएल में एचटीएमएल फाइल का उपयोग करना मैं एमवीसी 5 में एक कोणीय जेएस एप्लीकेशन बना रहा हूं। मैंने नीचे दिया गया निर्देश बनाया है।एमवीसी 5 प्रोजेक्ट

app.directive('clusterButton', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      clusterInfo: '=info' 
     }, 
     templateUrl: function(elem, attr){ 
      return 'ClusterButtonTemplate'; 
     } 
    }; 
}); 

मैं .cshtml फ़ाइल का नाम है ClusterButtonTemplate.cshtml और मैं नियंत्रक कक्षा में एक आंशिक दृश्य विधि बनाई गई इस दृश्य पर लौटने के लिए। तो angular js निर्देश टेम्पलेट को बाध्यकारी कर रहा है।

मुझे एमवीसी नियंत्रक वर्ग में विधि को हटाने की आवश्यकता है और टेम्पलेट फ़ाइल को सीधे संदर्भित करने की आवश्यकता है। मैं cshtml फ़ाइल का उपयोग नहीं करना चाहता हूं। मुझे टेम्पलेट के लिए html फ़ाइल की आवश्यकता है। मैंने ClusterButtonTemplate.html फ़ाइल बनाई है। लेकिन ब्राउज़र के नीचे टेम्पलेट सेट करते समय 404 error दिखाता है।

app.directive('clusterButton', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      clusterInfo: '=info' 
     }, 
     templateUrl: function(elem, attr){ 
      return 'ClusterButtonTemplate.html'; 
     } 
    }; 
}); 

मैं अपने प्रोजेक्ट में angular js मार्ग का उपयोग नहीं किया। सब कुछ MVC routing का उपयोग कर प्रबंधित किया जाता है। मैं इस समस्या को कैसे हल कर सकता हूं। क्या मुझे Angular routing और MVC routing का उपयोग करने की आवश्यकता है?

+1

क्या आप सीधे यूआरएल पर पथ डालने से एचटीएमएल फाइल लोड कर सकते हैं? इसके अलावा आप फिडलर का उपयोग कर सकते हैं और एचटीएमएल फाइल के लिए वास्तविक पथ लोड किया जा रहा है। –

उत्तर

0

आप एक प्रमुख स्लैश का उपयोग करने का प्रयास कर सकते हैं क्योंकि यह एक सापेक्ष पथ का उपयोग करके लोड किया गया है।

 templateUrl: function(elem, attr){ 
      return '/ClusterButtonTemplate.html'; 
    } 
+0

आपके उत्तर के लिए धन्यवाद। यह काम नहीं किया गया है। मुझे 404 नहीं मिला अपवाद मिला। फ़ाइल दृश्य/होम/क्लस्टरबटन Template.html में स्थित है। मैंने सभी संभावित पथों की कोशिश की। लेकिन मुद्दा तय नहीं है। मुझे लगता है कि यह मुद्दा कोणीय जेएस और एमवीसी रूटिंग संघर्ष के कारण है। लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए। –

+0

आह। इसलिए यही कारण है कि यह काम नहीं कर रहा है क्योंकि यह दृश्य/होम स्थान में स्थित है। अपना यूआरएल '/Views/Home/ClusterButtonTemplate.html –

4

आपको उस स्थान पर डालना होगा जहां एमवीसी नियंत्रक को यूआरएल मैप करने की कोशिश नहीं करेगा। डिफ़ॉल्ट रूप से, /Content फ़ोल्डर को अनदेखा किया जाता है, ताकि आप "टेम्पलेट्स" नामक एक फ़ोल्डर बना सकें और यूआरएल के लिए इसका इस्तेमाल कर सकें।

templateUrl: function(elem, attr){ 
    return '/Content/Templates/ClusterButtonTemplate.html'; 
+0

पर बदलें, धन्यवाद, अन्य धागे में दिए गए सौ अन्य विकल्पों को आजमाने के बाद मुझे बचाया। इसके लिए एक नया सवाल बनाने के करीब था :) –

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