Thomas Bandt

Über mich | Kontakt | Archiv

[ASP.NET 2.0] Kleine Browserweiche

Einerseits ist es erfreulich, dass man mit ASP.NET so etwas wie eine Browserweiche nun mit ein paar wenigen Zeilen Code realisieren kann, wo man sich früher noch mit den kuriosesten Konstruktionen abstrampeln musste.

Andererseits muss man natürlich auch hier wieder Probleme umschiffen, die man ohne ASP.NET 2.0 gar nicht hätte ;-). So wird z.B. bei der Verwendung von Themes alles, was man in den HTML-Head schreibt, ans Ende gesetzt. So wird in meinem Fall z.B. aus:

"Head1" runat="server">
   "Title1"</SPAN> runat=<SPAN style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"server"</SPAN>>
   

das hier:

"ctl00_Head1">
   bla
   
   "../App_Themes/Pages/Forms.css"
type="text/css" rel="stylesheet" />

Damit erübrigt sich der Gedanke, das Fix-CSS gleich via

direkt einzubinden leider ...

Genug der Ausführungen, hier der Code für die Browserweiche - das Ganze wird übrigens nach den App_Themes-CSSen "injiziert":

protected override void OnPreRender(EventArgs e)
{
   base.OnPreRender(e);
   if (Request.Browser.Browser.IndexOf("IE") > -1)
   {
      HtmlLink lnk = new HtmlLink();
      lnk.Href = "~/App_Themes/IEPatch/IEPatch.css";
      lnk.Attributes.Add("type", "text/css");
      lnk.Attributes.Add("rel", "stylesheet");
      Head1.Controls.Add(lnk);
   }
}



« Zurück  |  Weiter »