5

मैं दृश्य स्टूडियो 2012किसी पृष्ठ के सीएसएस अनुभाग पर इनलाइन सर्वर टैग डालने का सही तरीका क्या है?

मैं इस तरह यह कर रहा हूँ का उपयोग कर, एक पृष्ठ पर कुछ इनलाइन सर्वर टैग डाल करने के लिए तो मैं एक छवि के लिए सही रास्ता मिल सकता है कोशिश कर रहा हूँ:

<style type="text/css"> 
.someclass 
{ 
    background-image: url(<%=Url.Content("~/Content/Images/messageIcon.gif")%>); 
} 
</style> 

समस्या यह है कि एक बार यह लिखा जाने के बाद, संपूर्ण शैली अनुभाग VS2012 संपादक के साथ रंग स्वरूपण खो देता है। क्या ऐसा करने का कोई अलग तरीका है (या वीएस2012 में एक विकल्प), ताकि मैं रंग और इंडेंटेशन को खो दूंगा?

+1

क्यों 'isn से बाहर काम किया की जरूरत नहीं है यह एक बाहरी सीएसएस फ़ाइल में घोषित नहीं किया? – cimmanon

उत्तर

3

कारण यह है कि दृश्य स्टूडियो अपने formating खोता जा रहा है कि आप नीचे के रूप में सीएसएस और सर्वर-साइड कोड मिश्रण कर रहे हैं।

<style type="text/css"> 
.someclass 
{  
    background-image: url(<%=Url.Content("~/Content/Images/messageIcon.gif")%>); 
}  
</style> 

आपको अपने सीएसएस को अपने कोड से अलग करना चाहिए।

छवि रास्तों सीएसएस फ़ाइल के स्थान के सापेक्ष हैं, तो नीचे की तरह सीएसएस सही है, इसलिए आप का उपयोग एक आवेदन पथ Url.Content (~)

.someclass 
{  
    background-image: url(../Images/messageIcon.gif); 
}  
+0

क्या होगा यदि उन सीएसएस नियम मास्टर पेज पर हैं? मास्टर पर आधारित दृश्यों में माटर पेज की तुलना में अलग-अलग स्थान होते हैं। सही पथ प्राप्त करने के लिए मुझे दृश्य के स्थान के आधार पर और .. और जोड़ना होगा। –

+0

बिंदु यह है कि (सिमैनसन की टिप्पणी के अनुसार) आपके सीएसएस को आपके एएसपीएक्स से अलग किया जाना चाहिए। जिस तरह से आप कोशिश कर रहे हैं, उसमें स्टाइल की छवियां विज़ुअल स्टूडियो स्वरूपण समस्याओं का कारण बनती हैं, क्योंकि आप सीएसएस के भीतर सर्वर टैग का उपयोग कर रहे हैं। एक अलग सीएसएस फ़ाइल में छवि पथ तब सीएसएस के सापेक्ष है। –

+0

इसे ध्यान में रखेगा। धन्यवाद। –

3

यह एक दृश्य स्टूडियो हाइलाइट मुद्दा या सीएसएस शैलियों के लिए सुविधा है। सर्वर सापेक्ष यूआरएल का उपयोग करने की कोशिश करें, जिन्हें जाना जाता है।

यदि आपको सीएसएस शैलियों में सर्वर-साइड कोड डालने की आवश्यकता है, तो आप HTML-markup में style विशेषता का उपयोग कर सकते हैं।

<div class="beautiful-button" style="background-image: url('<%=Url.Content("~/Content/Images/messageIcon.gif")%>')"> 
... 
</div> 

आप इस कोड को पसंद नहीं है या आप इसे अलग-अलग स्थानों में एक से अधिक समय का उपयोग करने की आवश्यकता है, सबसे अच्छा तरीका है एक सार्वजनिक संपत्ति यूआरएल के साथ अपने स्वयं सर्वर साइड नियंत्रण बनाने के लिए होगा: उदाहरण के लिए (उदाहरण के लिए)। अंत में इसे इस तरह देखा जाएगा:

<asp:MyOwnControl runat="server" class="beautiful-button" URL="~/Content/Images/messageIcon.gif" /> 
+0

बात यह है कि मैं हमेशा दृश्य के लिए सापेक्ष यूआरएल नहीं जानता क्योंकि इन सिल्स का उपयोग मास्टर पेज पर किया जाता है। –

+0

हां। आप सही हैं, लेकिन जैसा कि मैं समझता हूं, मास्टर पेज का विचार सामग्री पृष्ठ के लिए टेम्पलेट प्रदान करना है। तो, सामग्री पृष्ठ में मास्टर पेज शैलियों को ओवरराइड करने का सबसे अच्छा तरीका होगा। मुझे लगता है कि एक मास्टर पेज को सामग्री पृष्ठों के बारे में जानने की आवश्यकता नहीं है। क्या आप मेरी बात से सहमत हैं? – Warlock

+0

हां, आप सही हैं। लेकिन इस मामले में, उदाहरण के लिए, हमारे पास एक बटन के लिए शैली है। इस शैली का उपयोग उन सभी विचारों में किया जाता है जो मास्टर पेज का उत्तराधिकारी हैं। मुझे सभी विचारों पर शैली दोहराना होगा, जो मास्टर पेज के उद्देश्य को हरा देगा, जिसमें सभी दृश्यों के लिए सामान्य सब कुछ है। –

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