मेरे पास एक फ़ाइल के लिए URL को पुनर्प्राप्त करने के लिए एक HTML एक्सटेंशन विधि है जो दृश्य के समान फ़ोल्डर में स्थित है।एमवीसी 3: HtmlHelper ऑब्जेक्ट से दृश्य पथ प्राप्त करने का सबसे अच्छा तरीका क्या है?
उदाहरण
/Views/Home/Index.cshtml
/Views/Home/Index.js
/Views/Home/Index.css
इस यह करने के लिए सबसे अच्छा तरीका है? मुझे यह पसंद नहीं है क्योंकि मुझे निम्नलिखित कलाकारों को करना है। मुझे यकीन है कि यदि आप एक अलग दृश्य इंजन का उपयोग कर रहे हैं, तो RazorView काम नहीं करेगा, लेकिन IView में केवल एक रेंडर विधि है।
((RazorView)helper.ViewContext.View).ViewPath
यहाँ पूर्ण विधि
public static string GetUrl(this System.Web.Mvc.HtmlHelper helper, string fileName) {
string virtualPath = ((RazorView) helper.ViewContext.View).ViewPath;
virtualPath = virtualPath.Substring(0, virtualPath.LastIndexOf("/") + 1);
return virtualPath + fileName;
}
आप अंततः यूआरएल के साथ क्या करने जा रहे हैं? इसे कुछ HTML में डालें और इसे ब्राउज़र पर भेजें? यदि हां, तो यह काम करने की संभावना नहीं है क्योंकि दृश्य उपनिर्देशिका सुरक्षित है और एक यूआरएल के माध्यम से सुलभ नहीं है। – Codo
मैंने पहले से ही इन फ़ाइलों को हैंडलर की सूची से BlockViewHandler को हटाकर web.config के माध्यम से सुलभ कर दिया है। –
क्या आप वाकई यह करने के लिए एक अच्छी बात है? अगर आप सुरक्षा कीड़े के लिए उनका निरीक्षण करने के लिए अपनी .cshtml फ़ाइलों को डाउनलोड करते हैं तो क्या आपको बुरा लगेगा? – Codo