2010-09-22 3 views
4

Ceci est une suite de this question.IE affiche la page différemment entre le débogage dans Visual Studio et sur le serveur

J'ai une application ASP.NET dont certaines sections affichent différemment lorsqu'elles sont affichées dans IE8 dans DEBUG par rapport à l'affichage de l'emplacement du serveur TEST publié.

Quand je regarde la page de débogage (par VS 2010), je vois ceci:

alt text

Cependant, quand je publierai à elle ressemble le serveur et afficher directement, ceci:

alt text

La zone de titre a uniquement la couleur d'arrière-plan du texte en noir au lieu de la section entière.

Voici le CSS:

.imageBox 
{ 
    position: relative; 
    float: left; 
    border-style: solid; 
    border-width: 1px; 
    text-align: center; 
} 

.imageBoxTitle 
{ 
    width: 100%; 
    background-color: #333333; 
    padding: 5px; 
} 

.imageBoxTitleLbl 
{ 
    font-family: Verdana; 
    font-weight: bold; 
    font-size: small; 
    color: White; 
} 

Voici le HTML

<div class="imageBox"> 
    <div class="imageBoxTitle"> 
     <span id="MainContent_ImagesPanel_ImageHolder1_ImageBoxTitleLabel" class="imageBoxTitleLbl">ITEM OVERVIEW</span> 
    </div> 

    <div class="imagePlaceHolder"> 
     <p class=".centeredImage"><a id="MainContent_ImagesPanel_ImageHolder1_ImageHyperLink" href="UserImages/nu5t3hhs.jpg" target="_blank"><img src="UserImages/nu5t3hhs.jpg" height="200" width="200" /></a></p> 
     <span id="MainContent_ImagesPanel_ImageHolder1_CustomValidator1" style="color:Red;visibility:hidden;">*</span> 
    </div> 

    <div class="imageAction"> 
    </div> 
</div> 

généré Donc, je pense que c'est probablement une sorte de problème de mise en cache. Cependant, si j'apporte de légères modifications au CSS (par exemple, changer la couleur de fond), il le récupère et l'affiche. De plus, j'ai ajouté un GUID généré dynamiquement à la chaîne de requête pour les fichiers CSS, donc ils ne devraient jamais être mis en cache. Fiddler confirme qu'ils ne sont pas cachés, aussi.

IE semble rendre le HTML/CSS différemment lors de l'affichage via Visual Studio Debug vs l'accès à la page directement à partir du serveur.

Quelles sont les causes de ce problème? MISE À JOUR: Lorsque je visualise la page dans Chrome ou Firefox sur le serveur publié, elle s'affiche correctement. J'ai effacé le cache IE (ctrl-f5), supprimé le Css le serveur et reloade, etc.

+1

IE cache? Essayez de rafraîchir avec Ctrl + F5, le guid est peut-être pas enough.Est-vous sûr, c'est le bon fichier CSS? peut-être que vous n'avez pas mis votre css mis à jour sur le serveur (je veux être sûr, parce que la plupart du temps ces problèmes ont une solution facile) –

+0

J'ai essayé CTRL-F5, j'ai supprimé le fichier .css du serveur , Je vois dans Fiddler qu'il retourne un 200 quand il est récupéré. J'ai effacé le cache IE. Si je l'affiche dans Chrome, il apparaît correctement. – GernBlandston

+0

Etes-vous sûr que c'est l'extrait complet, car c'est un code HTML invalide - l'un des fermants '

Répondre

12

Lorsque IE rend sur localhost, il utilisera le mode conforme à la norme.

Cependant, quand il rend sur un Intranet, il utilisera le mode de compatibilité . Ne me demandez pas pourquoi il fait cela, c'est juste une de ces choses MS arbitraires afin de pimenter nos vies de développeur.

ajoutez juste à votre tête pour forcer IE en mode conforme à la norme:

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

Enjoy :)

+0

merci merci merci! – GernBlandston

3

Crédit JungleFreak pour le answer complet

IE8 fonctionne dans différents modes en fonction de si c'est la visite d'un site fonctionnant sur localhost vs un autre serveur. C'est bizarre, je sais. J'ai déjà rencontré ce problème auparavant.Utilisez les outils de développement (F12) et vérifiez quel mode (Quirks, IE7 Standard, IE8 Standard, Compatibilité IE8) le navigateur fonctionne.

Questions connexes