Frage

Ich arbeite an einer website wechseln Sie zu einem neuen Stil, der auf ein Datum festlegen.Die Website ist gebaut in semantischem HTML und CSS, so sollte die änderung nur mit der CSS-Referenz ändern.Ich arbeite mit einem designer, die müssen in der Lage sein zu sehen, wie er guckt, als auch als client, der in der Lage sein müssen, Inhalte zu überprüfen, updates in der aktuellen Optik sowie design-Fortschritte auf den neuen look.

Ich bin Planung zu verwenden eine Magische querystring-Wert und / oder einen javascript-link in der Fußzeile die schreibt ein cookie gesetzt, um wählen Sie die neue CSS-Seite.Wir arbeiten in ASP.NET 3.5.Irgendwelche Empfehlungen?

Ich sollte erwähnen, dass wir mithilfe von Internet Explorer Bedingte Kommentare für Internet Explorer 8, 7 und 6 unterstützen.Ich kann eine Funktion erstellen, die einen Austausch:

<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" />
<![endif]-->
<!--[if lte IE 7]>
    <link type="text/css" href="Style/<% GetCssRoot() %>-ie7.css" rel="stylesheet" />
<![endif]-->
<!--[if lte IE 6]>
    <link type="text/css" href="Style/<% GetCssRoot() %>-ie6.css" rel="stylesheet" />
<![endif]-->
War es hilfreich?

Lösung

In Asp.net 3.5, sollten Sie in der Lage sein, das Link-tag im header als server-tag.Dann in der codebehind-Sie können die href-Eigenschaft für das link-element, auf Basis einer cookie-Wert, querystring, Datum, etc.

In Ihrer aspx-Datei:

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

Und in der Code-behind:

protected void Page_Load(object sender, EventArgs e) {
  string stylesheetAddress = // logic to determine stylesheet
  linkStyles.Href = stylesheetAddress;
}

Andere Tipps

Sie sollten sich in ASP.NET Themen, das ist genau das, was Sie sind verwendet für.Sie erlauben auch die Haut steuert, was bedeutet, dass Ihnen eine Reihe von Standard-Parametern.

Ich würde vorschlagen, die Speicherung, die stylesheet-Auswahl in der Sitzung, so dass Sie nicht haben zu verlassen sich auf die querystring-Taste alle die Zeit.Sie können die Sitzung in Page_Load und fügen Sie die entsprechenden stylesheet-Referenz.Es klingt wie das ist, eine temporäre Entwicklung/situation, so gehen Sie mit dem, was einfach ist und funktioniert.

if (!String.IsNullOrEmpty(Request.QueryString["css"]))
  Session.Add("CSS",Request.QueryString["css"]);

Ich würde Folgendes tun:

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

Dann in Ihr ASP.NET code:

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

Dann definieren Sie Ihre stylesheets:

if (Request.Cookies["stylesheet"] != null) {
    // New Stylesheet
} else {
    // Default
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top