Stylesheet Reihenfolge im Header ändern
-
Sonntag, 1. Januar 2012 15:26
Hallo,An alle ein frohes und erfolgreiches 2012.Ich benutze Yaml für mein Layout. Dazu habe ich im App_Themes ein Design erstellt, indem auch die layout.css für YAML eingebunden ist. Das funktioniert soweit auch ganz gut. Für den IE 7 liegt im Root-verzeichnis eine Patch-Datei im Ordner css\patches.Ich habe eine Masterpage erstellt, in welcher ich im Header folgenden Eintrag für den Patch gemacht habe:
<headrunat="server"><title></title><!--[if lte IE 7]><linkhref="css/patches/patch_layout.css"rel="stylesheet"type="text/css"/><![endif]--><asp:ContentPlaceHolderid="head"runat="server"></asp:ContentPlaceHolder></head>
In der Web.config habe ich <pages theme="default" ... eingestellt.Nachdem ich die Seiten erstelle, ist die Reihenfolge im Header folgende:
<head><title></title><!--[if lte IE 7]><linkhref="css/patches/patch_layout.css"rel="stylesheet"type="text/css"/><![endif]--><linkhref="App_Themes/default/css/layout.css"type="text/css"rel="stylesheet"/></head>Wie kann man die Reihenfolge abändern, dass zuerst der Verweis auf App_Themes und dann das Patch kommt?
Reiner
- Bearbeitet Robert BreitenhoferMicrosoft Contingent Staff, Moderator Mittwoch, 8. Februar 2012 09:05 Formatierung
- Bearbeitet Robert BreitenhoferMicrosoft Contingent Staff, Moderator Mittwoch, 8. Februar 2012 09:10 Formatierung
- Typ geändert Bogdan Petru RoiuModerator Dienstag, 6. März 2012 09:15 Diskussion
Alle Antworten
-
Mittwoch, 8. Februar 2012 14:01
Hallo Reiner
Leider kannst du die Reihenfolge konfigurativ nicht ändern. Themes werden immer am Ende des Head Tags eingefügt.
Wass du machen kannst, ist auf Pre_Render die Reihenfolge programatisch ändern oder mit !imporant Anweisungen im patch_layout.css file arbeiten.
Quelle: http://stackoverflow.com/questions/2917187/asp-net-theme-stylesheet-renderingprotected void Page_PreRender(object sender, EventArgs e) { ControlCollection container = this.Page.Header.Controls; foreach (var control in container.OfType<System.Web.UI.HtmlControls.HtmlLink>().ToArray()) { container.Remove(control); container.AddAt(0, control); } }
-
Freitag, 2. März 2012 10:44ModeratorHallo,
Wäre es machbar, dass Du eine kurze Rückmeldung gibst, ob die Antwort Dir geholfen hat?
VG/BogdanIch bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.

