Nachdem man die Regular-Expression ausgetauscht hat, erkennt ASP.NET nun korrekt Mozilla, Netscape, Firefox & Co. Der Original-Eintrag sieht danach wie folgt aus:
<case match="^Mozilla\/5\.0.+rv:(\d\.\d\.\d).+Gecko">
browser=Gecko
type=${type}
frames=true
tables=true
cookies=true
javascript=true
javaapplets=true
ecmascriptversion=1.5
w3cdomversion=1.0
css1=true
css2=true
xml=true
tagwriter=System.Web.UI.HtmlTextWriter
<case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))">
version=${version}
majorversion=${major}
minorversion=${minor}
<case match="^b" with="${letters}">
beta=true
case>
case>
case>
Daraus ergibt sich folgendes Problem: will man mittels
Request.Browser.Type
den Browser ermitteln, beispielsweise für eine Browserweiche, so liefert diese Eigenschaft nur einen Leerstring zurück. Die Ursache: der Punkt
type=${type}
Die geänderte Regex extrahiert diese Eigenschaft nicht mehr. Macht aber für mich nicht wirklich was, von daher einfach einen beliebigen festen Value, ich habe z.B. "mozilla" genommen eintragen. Das reicht für mich, da alle Gecko-Browser sowieso das gleiche Stylesheet bekommen.