2011-03-16 14 views
11

के साथ Url.Content का उपयोग करना मैं एक एमवीसी अनुप्रयोग में अपने डेटाबेस में छवियों का स्थान संग्रहीत कर रहा हूं ... लेकिन मैं केवल स्थान का हिस्सा संग्रहित कर रहा हूं। उदाहरण के लिए:अर्ध-संबंधित यूआरएल

/headers/image1.jpg 
/headers/image2.jpg 

छवियों वास्तव में निम्न फ़ोल्डर में संग्रहीत हैं:

<img src="@Url.Content("~/content/images") + Model.ImageUrl" /> 

मैं कैसे कर सकते:

~/content/images/headers/image1.jpg 
~/content/images/headers/image1.jpg 

मेरी नजर में, मैं इस तरह कुछ करना चाहता हूँ इस?

+1

@ डिस्मिसाइल, मैं डेटाबेस में पूरा पथ संग्रहीत करने का सुझाव देता हूं, अगर आपको कभी भी फ़ोल्डर के नाम को बदलने की ज़रूरत है, तो यह आपके आवेदन के दौरान स्पेगेटेड की बजाय एक ही स्थान पर है। –

+0

@ निक - अच्छा बिंदु। मैं सोच रहा था "क्या होगा यदि मैं इन सभी छवियों का स्थान बदलने का फैसला करता हूं, तो मुझे डेटाबेस में सभी पंक्तियों को अपडेट करना होगा। अगर मैं इसे विचारों में पूरी तरह से उपयोग कर रहा हूं ... यह ' डी शायद पंक्तियों को अद्यतन करने के लिए कम काम हो। – Dismissile

+0

@ निक: यह तर्कसंगत है। मैं व्यक्तिगत रूप से कोड में एक स्थान बदलता हूं, जब मुझे अपने डेटाबेस में सभी उचित तारों को बदलने के लिए एक स्क्रिप्ट के साथ आने से मूल फ़ोल्डर को बदलने की आवश्यकता होती है फ़ोल्डर। लेकिन मैं कम से कम अपने विचारों के चारों ओर "~/content/images" को बिखरने के बजाय स्थिरता का उपयोग करना चाहता हूं। – StriplingWarrior

उत्तर

36

बस इसे करें!

<img src="@Url.Content("~/content/images" + Model.ImageUrl)" /> 

अद्यतन:

ASP.NET MVC 4 के रूप में यह रूप में उस्तरा दृश्य इंजन को सीधे HTML में टिल्ड URL का उपयोग करने के लिए यूआरएल को पार्स होगा मान्य है। इस तरह:

<img src="~/content/images/@Model.ImageUrl" /> 
+0

बह! मुझे यह मानने से पहले वास्तव में कोशिश करनी चाहिए कि यह काम नहीं करेगा। मैंने कुछ ऐसा करने की कोशिश की: @ url.Content ("~/content/images/@Model.ImageUrl") मैंने अपना प्रश्न टाइप करने से पहले, और फिर मैंने अपने प्रश्न को संशोधित किया कि यह कैसे लगा कि यह काम करेगा :) – Dismissile

+2

यह रेजर में जाने के लिए थोड़ी देर लगती है, लेकिन एक बार जब आप वहां हों - वहां वापस नहीं जा रहा है। –

+0

यूआरएल का उपयोग करने के लिए हमें कौन सी लाइब्रेरी जोड़नी चाहिए। सामग्री @ क्या ??? –

0

आप विस्तार विधि लिख सकते हैं जो सामग्री छवि के लिए कॉन्फ़िगर किए गए पथ के साथ आपके ImageUrl को जोड़ती है।

<img src="@Model.ImageUrl.ToRelative()" alt="@Model.ImageAlt" /> 

पुनश्च
alt टैग के बारे में याद रखें। ;)