Frage

Ich habe den folgenden Abschnitt in meiner Web.config -Datei

<system.webServer>
    <!-- For now..... lets be safe and put IE8 in IE7 compatibility mode-->
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

aber die

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>

ist nicht im Kopf der Seiten vorhanden, wenn sie auf meiner Website gerendert werden. Ich folgte dem Rat in diesem Beitrag ASP.NET App - IE7 -Kompatibilitätsmodus einstellen? Aber es scheint nicht wie erwartet mit IE8 und IIS6 zu funktionieren. Irgendwelche Hinweise?

War es hilfreich?

Lösung

Es stellt sich heraus, dass das Problem war, dass ich benutze Iis6. IIS6 schaut sich das an <system.web> Abschnitt von web.config anstelle der <system.webServer> Abschnitt (der von IIS7 verwendet wird, es sei denn, es wird im Kompatibilitätsmodus ausgeführt). Um dieses Meta -Tag auf jeder Seite Ihrer Website beim Ausführen von IIS6 zu rendern, ist die beste Option darin, es Ihrer Meisterseite hinzuzufügen. Am Ende habe ich dem Onprerender -Ereignis meiner Meisterseite den folgenden Codeblock hinzugefügt:

Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" });

Der Grund, warum ich Addat anstelle von einfachem Add verwendet habe, ist, dass das X-UA-kompatible Meta-Tag anscheinend das erste in der Seitenheader sein muss, damit es respektiert wird.

Hoffe das hilft jemandem im selben Boot!

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