Wie ein Medienattribut auf den CSS-Link HTML-Tag für den ASP.NET WebResource.axd Http-Handler hinzufügen

StackOverflow https://stackoverflow.com/questions/2730637

Frage

Die ASP.NET WebResource.axd Http-Handler verwendet wird Ressourcen zu dienen eingebettet in DLL.

Der LINK-HTML-Tag wird automatisch generiert von ASP.NET.

Ich mag die Erzeugung des LINK HTML-Tages für einen bestimmten Satz von eingebetteter CSS von einem Dritten DLL abzufangen und ein Medienattribut hinzufügen.

Fazit:

Ich möchte ein Medien Attribut auf den Link HTML-Tag für das ASP.NET WebResource.axd Http-Handler hinzuzufügen.

So folgt:

<link type="text/css" rel="stylesheet" href="/WebResource.axd?d=XXXXX" />

scheint wie folgt aus:

<link media="screen and (min-device-width: 481px)" type="text/css" rel="stylesheet"
 href="/WebResource.axd?d=XXXXX" />

Prost

War es hilfreich?

Lösung

Es gibt eine Abhilfe. Erstens wie diese Links hinzugefügt der Page an den Kopf werden. Ihre Seite muss runat=”server” im <head> Tag für die automatische Stylesheet Aufnahme hat. Die Seiten von der IDE erstellt automatisch diese Einstellung haben. Also, Links hinzugefügt wird, ist ein HtmlLink Steuerart. Die Idee ist, zu durchlaufen Kontrollen in Page Header, HtmlLink Kontrollen und Satz notwendiges Attribut (oder sogar Attribute) finden. Ich schließe diese in das Page_Load Ereignis:

Page.Header.Controls
    .OfType<HtmlLink>()
    .ToList()
    .ForEach(link =>
    {
        link.Attributes["media"] = "screen and (min-device-width: 481px)";
    });

Vor diesem hatte ich:

<head id="Header">
    <title></title>
    <link href="App_Themes/MyTheme/main.css" 
          type="text/css" 
          rel="stylesheet" />
</head>

und nach ist das Ergebnis:

Ich weiß, Themes diese Verwendungen von WebResource.axd insted aber für die letzte wird das Ergebnis das gleiche sein.

Der letzte Schrei: Es kann eine andere Links auf der Seite sein. So wäre es gut zu erkennen unsere Links (Links geändert werden müssen). Also, wenn es kein id Attribut ist, dass Sie sie durch href Attribut erkennen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top