2009-04-20 12 views
31

मेरे पास एएसपी.Net 2.0 साइट है और इसे एमवीसी प्रतिमान में अनुवाद करना चाहता हूं (मैं इसके लिए नया हूं), लेकिन शून्य से शुरू करना।Asp.Net एमवीसी थीम्स, कैसे करें?

मेरे पास मेरी पुरानी साइट में कुछ थीम हैं, लेकिन यहां और वहां पढ़ना, ऐसा लगता है कि थीम्स एमवीसी प्रतिमान में अच्छी तरह फिट नहीं है।

सवाल यह है:

एक थीम्ड उपयोगकर्ता अनुकूलन साइट बनाने के लिए MVC में सबसे अच्छा तरीका क्या है? यदि लागू हो तो आप थोड़ा उदाहरण दे सकते हैं?

नोट: मुझे this पता है लेकिन वे सर्वोत्तम प्रथाओं या कैसे शुरूआत के बारे में बात नहीं करते हैं।

+0

आपको कितनी अनुकूलन की आवश्यकता है? अगर यह केवल रंगों और फोंट के बारे में है, तो एक साधारण सीएसएस प्रतिस्थापन चाल करेगा। – User

+0

मुख्य रूप से मैं चाहता हूं कि उपयोगकर्ता थीम को बदलने में सक्षम हो, Asp.Net 2.0 में मैं आसानी से प्राप्त करता हूं, और जानना चाहता हूं कि आम तौर पर एमवीसी-ईश लड़के को यह दृष्टिकोण कैसे मिलेगा –

उत्तर

26

यहाँ मेरी कोड है कि मैं ASP.NET MVC में "थीम" लागू करने के लिए उपयोग करते आ रहे:

ASP.NET MVC: Implement Theme Folders using a Custom ViewEngine

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

+4

क्या हम प्रत्येक थीम्स के लिए दृश्य और मास्टर पेज नहीं बना रहे हैं। ऐसा लगता है कि हम डीआरवाई प्रिंसिपल का उल्लंघन कर रहे हैं? – Amitabh

+1

@ अमितभ - यही कारण है कि क्रिस ने कहा, "[बस सीएसएस को स्वैप करना] बहुत व्यावहारिक नहीं है [...] आपको सीएसएस और एचटीएमएल को बदलने की जरूरत है।" –

+1

क्या यह अभी भी एमवीसी 4 में लेआउट और थीम बदलने का सबसे अच्छा तरीका है? आपका आलेख 200 9 है लेकिन पूरे वेब पर जारी रहता है। वास्तव में ऐसा करने का कोई .NET तरीका नहीं है ... अभी भी? – ppumkin

20

एक साफ, एक अच्छा सीएसएस के साथ अर्थ की दृष्टि से सही HTML, किसी भी वेब अनुप्रयोग विषय के लिए रास्ता है कि क्या यह ASP.NET, आतंक विरोधी, पीएचपी, आदि

के सीएसएस की शक्ति है CSS Zen Garden सबसे अच्छा उदाहरण है।

w3schools में एक अच्छा introduction/tutorial to CSS है।

अपने उपयोगकर्ताओं में से प्रत्येक एक संबद्ध स्टाइलशीट जो जब भी लागू चयनित जायेगा, यानी .:

<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/> 
+3

हालांकि यह सच है, और वे दोनों अच्छे संसाधन हैं - यह सवाल को संबोधित नहीं करता है। ऐसा लगता है जैसे झोनी एएसपी.नेट एमवीसी परियोजना में एक थीमिंग सिस्टम को लागू करने के लिए युक्तियों और तकनीकों की तलाश में है। – Jason

+5

@ जेसन: आप सही हैं, मैंने अभी इसे लागू करने का एक संभावित तरीका जोड़ा है। –

1

jQuery-ui विषयों अच्छा है, और भी लागू करने के लिए मुश्किल नहीं है हो सकता था।

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

+0

यह सवाल का उत्तर नहीं है। – phd

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/16681117) –

2

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

एचटीएमएल: <input type="button" />

सीएसएस: इनपुट {रंग: हल्के नीले}

तो कुछ भी है कि अपने गैर-डिफ़ॉल्ट विषय था के लिए तुम सिर्फ कक्षाओं उन्हें लागू कर सकते हैं। सीएसएस के रूप में अपने सभी विषयों को फिर से लिखने में कुछ समय लगता है, लेकिन एक बार ऐसा करने के प्रयास के लायक है।

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