Verwendung von mehreren Stylesheet-Dateien in einer ASP.NET-Webanwendung
-
Freitag, 11. Mai 2012 10:52
Hallo,
bei einer ASP.NET-Webanwendung, die mit Visual Studio 2010 (Programmiersprache C#) entwickelt wurde, habe ich versucht, mit mehreren Stylesheet-Dateien zu arbeiten. Diese liegen in dem Projekt im Ordner ~/App_Themes/Design.
In den einzelnen Web Forms habe ich folgendermaßen festgelegt, welche Stylesheet-Datei verwendet werden soll:
<head runat="server">
<title>agrarservices.net</title>
<link rel="stylesheet" type="text/css" href="~/App_Themes/Design/default.css"/>
</head>
Verwendet wird das Stylesheet dann im Web Form wie folgt:
<div id="mitte">
...
</div>
Das funktioniert aber dann nicht mehr, wenn es in den Stylesheet-Dateien Elemente mit gleichen Namen aber unterschiedlichen Formatierungseigenschaften gibt, wie in nachfolgendem Beispiel:
In der Datei default.css steht:
#mitte
{
text-align: left;
background-color: #f7f2e4;
font-size: 8pt;
}
In der Datei default_zf.css steht:
#mitte
{
text-align: center;
background-color: oldlace;
padding-left: 20px;
padding-right: 20px;
}
Trotz Zuweisung (siehe oben) der Stylesheet-Datei default.css im Web Form wird bei der Ausführung die Formatierung aus der Datei default_zf.css herangezogen.
Gibt es eine Möglichkeit, sicherzustellen, dass in den Web Forms immer die gewünschte Stylesheet-Datei genommen wird, ohne den Aufwand zu betreiben, dass die Bezeichner über alle Stylesheets hinweg eindeutig benannt werden?
Mfg
Dörte
- Typ geändert Robert BreitenhoferMicrosoft Contingent Staff, Moderator Dienstag, 22. Mai 2012 10:41 Keine Rückmeldung des Fragenstellender
Alle Antworten
-
Freitag, 11. Mai 2012 15:15Kann sein das die zf noch in einer übergeordneten Datei drin ist? Ansonsten wird normalerweise das css ausgeführt, welches als letztes verlinkt wurde.
-
Freitag, 11. Mai 2012 16:12
Hallo Dörte,
hast du in der web.config Datei das gewünschte Design angegeben?
<system.web>
<pages theme="Design" />
</system.web>Dann werden automatisch auf allen Seiten alle .css (und .skin) Dateien
aus dem angegebenen Design-Ordner eingebunden. Du kannst also das
<link> Element aus allen Seiten wieder entfernen.Wenn man auf einer bestimmten Seite ein eigenes Theme angeben
will, macht man das über ein Attribut in der Page Direktive<%@ Page Title="Home Page" Theme="Design" ....
Diese Theme Angaben überschreiben inline styles. Wenn man das nicht
möchte, verwendet man statt dessen StyleSheetTheme
http://msdnbangladesh.net/blogs/jalal/archive/2009/04/11/difference-between-theme-and-stylesheettheme-explained.aspxWenn du mit mehreren Designs arbeiten magst (so sieht für mich die
default_zf.css Datei aus), dann erstellt man dafür eigene Ordner
und packt da alle benötigten .css (und Bilder, Icons, usw.) rein:App_Themes/Design/
App_Themes/Alternative/Das kann man dann bequem in der web.config umschalten und alle
Seiten erscheinen sofort im neuen Design.Viele Grüße
Frederic
.
> Hallo,
bei einer ASP.NET-Webanwendung, die mit Visual Studio 2010 (Programmiersprache C#) entwickelt wurde, habe ich versucht, mit mehreren Stylesheet-Dateien zu arbeiten. Diese liegen in dem Projekt im Ordner ~/App_Themes/Design.
In den einzelnen Web Forms habe ich folgendermaßen festgelegt, welche Stylesheet-Datei verwendet werden soll:
<headrunat="server">
<title>agrarservices.net</title>
<linkrel="stylesheet" type="text/css" href="~/App_Themes/Design/default.css"/>
</head>
Verwendet wird das Stylesheet dann im Web Form wie folgt:
<divid="mitte">
....
</div>
Das funktioniert aber dann nicht mehr, wenn es in den Stylesheet-Dateien Elemente mit gleichen Namen aber unterschiedlichen Formatierungseigenschaften gibt, wie in nachfolgendem Beispiel:
In der Datei default.css steht:
#mitte
{
text-align: left;
background-color: #f7f2e4;
font-size:8pt;
}
In der Datei default_zf.css steht:
#mitte
{
text-align: center;
background-color: oldlace;
padding-left: 20px;
padding-right: 20px;
}
Trotz Zuweisung (siehe oben) der Stylesheet-Datei default.css im Web Form wird bei der Ausführung die Formatierung aus der Datei default_zf.css herangezogen.
Gibt es eine Möglichkeit, sicherzustellen, dass in den Web Forms immer die gewünschte Stylesheet-Datei genommen wird, ohne den Aufwand zu betreiben, dass die Bezeichner über alle Stylesheets hinweg eindeutig benannt werden?
Mfg
Dörte -
Samstag, 12. Mai 2012 10:56
Trotz Zuweisung (siehe oben) der Stylesheet-Datei default.css im Web Form wird bei der Ausführung die Formatierung aus der Datei default_zf.css herangezogen.
Wenn du die 2. CSS gar nicht zugewiesen hast, wie in deinem Beispiel aber trotzdem diese herangezogen wird, leere den Cache.
im firefox Strg + F5 .......
-
Samstag, 12. Mai 2012 19:00
Hi,
Du kannst auch mit den Entwicklertools/FireBug (IE, FF, Chrome = F12) sicherstellen, dass die genannte CSS-Datei verwendet wird (und nicht die aus einer gecachten älteren Version - s. Der_Shmoo).
Hruß
Jürgen -
Dienstag, 22. Mai 2012 10:40Besitzer****************************************************************************************************************
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
****************************************************************************************************************Robert Breitenhofer, MICROSOFT

Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

