एक सीएसएस स्विचर कैसे स्थापित करें

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

मैं एक पीसी क्वेरीस्ट्रिंग मान और / या पाद लेख में जावास्क्रिप्ट लिंक का उपयोग करने की योजना बना रहा हूं जो नए सीएसएस पेज का चयन करने के लिए कुकी लिखता है। हम एएसपी.नेट 3.5 में काम कर रहे हैं। कोई सिफारिशें?

मुझे जिक्र करना चाहिए कि हम IE8, 7, और 6 समर्थन के लिए आईई सशर्त टिप्पणियों का उपयोग कर रहे हैं। मैं एक ऐसा फ़ंक्शन बना सकता हूं जो प्रतिस्थापन करता है:

<link href="Style/<% GetCssRoot() %>.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 8]>
    <link type="text/css" href="Style/<% GetCssRoot() %>-ie8.css" rel="stylesheet" />

    <link type="text/css" href="Style/<% GetCssRoot() %>-ie7.css" rel="stylesheet" />

    <link type="text/css" href="Style/<% GetCssRoot() %>-ie6.css" rel="stylesheet" />
0
ro fr bn

4 उत्तर

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

0
जोड़ा

Asp.net 3.5 में, आप हेडर में लिंक टैग को सर्वर टैग के रूप में सेट करने में सक्षम होना चाहिए। फिर कोडबींड में आप एक कुकी वैल्यू, क्वेरीस्ट्रिंग, डेट इत्यादि के आधार पर लिंक तत्व के लिए href प्रॉपर्टी सेट कर सकते हैं।

आपकी एएसपीएक्स फ़ाइल में:

<head>
  <link id="linkStyles" rel="stylesheet" type="text/css" runat="server" />
</head>

और पीछे कोड में:

protected void Page_Load(object sender, EventArgs e) {
  string stylesheetAddress = // logic to determine stylesheet
  linkStyles.Href = stylesheetAddress;
}
0
जोड़ा
धन्यवाद, इस बारे में नहीं सोचा था, लेकिन .NET इस के साथ अच्छा नहीं खेल रहा था: <link rel = "स्टाइलशीट" href = "/ style.css <% = VersionQueryString%>" type = "text / css" />
जोड़ा लेखक Aaron, स्रोत

मैं निम्नलिखित करता हूं:

www.website.com/?stylesheet=new.css

फिर आपके एएसपी.नेट कोड में:

if (Request.Querystring["stylesheet"] != null) {
    Response.Cookies["stylesheet"].Value = Request.QueryString["stylesheet"];
    Response.Redirect();
}

फिर आप अपनी स्टाइलशीट को परिभाषित करते हैं:

if (Request.Cookies["stylesheet"] != null) {
    // New Stylesheet
} else {
    // Default
}
0
जोड़ा
जब उपयोगकर्ता किसी अन्य पृष्ठ पर जाता है तो आप क्या करते हैं? एक बाहरी लिंक से आता है?
जोड़ा लेखक Jason, स्रोत

मैं सत्र में स्टाइलशीट चयन को संग्रहीत करने का सुझाव दूंगा, इसलिए आपको हर समय मौजूद क्वेरीस्ट्रिंग कुंजी पर भरोसा नहीं करना पड़ेगा। आप पेज_लोड में सत्र की जांच कर सकते हैं और उचित स्टाइलशीट संदर्भ जोड़ सकते हैं। ऐसा लगता है कि यह एक अस्थायी / विकास की स्थिति है, इसलिए जो कुछ भी आसान और काम करता है उसके साथ जाएं।

if (!String.IsNullOrEmpty(Request.QueryString["css"]))
  Session.Add("CSS",Request.QueryString["css"]);
0
जोड़ा