2011-03-04 9 views
13

आईआईएस पर लाइव तैनाती के लिए एएसपी.नेट में किसी छवि का संदर्भ देने का सही तरीका क्या है?एचटीएमएल आईएमजी और एएसपी.नेट छवि और सापेक्ष पथ

देव और उत्पादन में निम्नलिखित काम करता है:

<asp:ImageButton ID="ibnEdit" runat="server" OnClick="ibnEdit_Click" ImageUrl="~/App_Themes/Default/images/one.png" Visible="false" ToolTip="Edit" /> 

निम्नलिखित में से किसी में काम नहीं करता है: (? क्यों नहीं)

<img src="~/App_Themes/Default/images/two.gif" /> 

देव में लेकिन उत्पादन में नहीं निम्नलिखित काम करता है:

<img src="../App_Themes/Default/images/two.gif" /> 
+0

क्या आप सुनिश्चित हैं कि आप उत्पादन में छवियों को तैनात कर रहे हैं? –

+0

देव वातावरण के समान पथ में छवियों को @are करें .?? – kobe

उत्तर

5

~ केवल सर्वर नियंत्रण जैसे काम करेगा या। यह एप्लिकेशन पथ डालने के लिए ASP.Net को बताता है। कभी-कभी यह सिर्फ "/" है, लेकिन यदि आपका एप्लिकेशन वेबसाइट की मूल निर्देशिका नहीं है, तो इसमें पथ शामिल होगा। आईएमजी टैग सिर्फ HTML है और इसे एएसपी.Net द्वारा बदला नहीं जाएगा, इसलिए ब्राउज़र को पथ मिल जाता है "~/App_Themes/डिफ़ॉल्ट/छवियों/दो.gif" और यह नहीं पता कि इसे कैसे पढ़ा जाए।

मुझे नहीं पता कि अंतिम उदाहरण देव में क्यों काम करता है लेकिन उत्पादन में नहीं। यह dev में रूट निर्देशिका में अनुप्रयोग के उत्पादन के साथ कुछ करने के लिए कुछ हो सकता है लेकिन उत्पादन में एक उप निर्देशिका में।

+1

+1, भी, @mmmbop, एचटीएमएल टैग में// हल करने के लिए आप UrlHelper क्लास (एएसपी: छवि नियंत्रणों का उपयोग करने के लिए स्विच करने के बजाय) का उपयोग कर सकते हैं ' "/>' –

22

आप ~ पथ के साथ एक नियमित img टैग का उपयोग करना चाहते हैं, तो आप सिर्फ runat="server" एक विशेषता (नियमित सर्वर नियंत्रण) की तरह के रूप में टैग में जोड़ सकते हैं और पथ का समाधान हो जाएगा। उदाहरण के लिए:

<img src="~/App_Themes/Default/images/two.gif" runat="server" /> 

अपने दूसरे भाग के लिए, एक उपयोगकर्ता नियंत्रण या मास्टर पेज (आदि) इस तरह है कि आप इसे अन्य फ़ोल्डर स्तर पर उपयोग कर रहे हैं उदाहरण के लिए, ../ छवि एक से अधिक पृष्ठ पर प्रदर्शित होने के संदर्भ है ...

+0

अच्छा, क्या इसका समग्र रूप से कोई प्रभाव पड़ता है वेबसाइट का प्रदर्शन? – Tanveer

+0

@ टैनवीर को इसका कोई प्रभाव नहीं होना चाहिए। नियंत्रण नियंत्रण जीवन चक्र के माध्यम से होगा। ऐसा कहा जा रहा है कि आपको किसी भी अंतर को देखने के लिए शायद बहुत सारी छवियां जोड़ने की आवश्यकता होगी। – davidsleeps

4

मैं इस वाक्य रचना का उपयोग छवियों के लिए मास्टर पृष्ठों से

<img src="<%=ResolveUrl("~/Content/Images/error_img.jp")%>" width="350" style="padding-right: 15px; padding-top: 20px;"/> 
0

("। चयनकर्ता") का उपयोग यह मैं

$ के लिए काम किया। attr ('src', "सामग्री/विषयों /base/images/img.png ");

महत्वपूर्ण यह है कि आपके पास अपने नए स्रोत की शुरुआत में "/" नहीं है।

0
byte[] imageArray = System.IO.File.ReadAllBytes(Server.MapPath("~/Images/Upload_Image.png")); 

string base64ImageRepresentation = Convert.ToBase64String(imageArray); 
संबंधित मुद्दे