CORRECTIF : La méthode Render dans la classe BasePartialCachingControl effectue le rendu à l'aide de HtmlTextWriter

Traductions disponibles Traductions disponibles
Numéro d'article: 321552 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F321552
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Symptômes

La méthode Render dans la classe BasePartialCachingControl effectue le rendu à l'aide d'un writer de type HtmlTextWriter. Ceci se produit fréquemment lorsque vous exécutez une instruction OuputCache pour les contrôles utilisateur. Lorsqu'un navigateur de niveau inférieur affiche la page, il continue à utiliser HtmlTextWriter au lieu de Html32TextWriter pour rendre le contrôle utilisateur.

Par exemple, le contrôle utilisateur suivant
<%@ Control Language="c#" %>
<%@ OutputCache Duration="30" VaryByParam="none" %>
<asp:TextBox id="txt" runat="server" Width="442px" />
doit être rendu de la manière suivante dans les navigateurs de niveau inférieur :
<input name="txt" id="txt" type="text" />
Cependant, du fait qu'un writer de type HtmlTextWriter est utilisé pour générer le rendu des contrôles mis en cache, le navigateur restitue le contrôle utilisateur comme suit :
<input name="txt" id="txt" style="width:449px;" type="text" />
Notez l'attribut style.

Résolution

Pour résoudre ce problème, procurez-vous le dernier Service Pack de Microsoft .NET Framework. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
318836 INFO : Procédure pour obtenir le dernier Service Pack de .NET Framework
La version anglaise de ce correctif doit avoir les attributs de fichier suivants ou ceux d'une version ultérieure :
   Date      Heure  Version            Taille  Nom du fichier
   --------------------------------------------------------------
   17/04/02  20:45  1.0.3705.252      192 512  Aspnet_isapi.dll  
   17/04/02  20:39                     19 332  Aspnet_perf.ini
   17/04/02  20:45  1.0.3705.252       24 576  Aspnet_regiis.exe  
   17/04/02  20:45  1.0.3705.252       28 672  Aspnet_wp.exe    
   20/03/02  13:31                      8 709  Smartnav.js
   20/03/02  13:31                      7 003  Smartnavie5.js
   19/04/02  10:40  1.0.3705.252    1 183 744  System.web.dll   

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "Liste des produits concernés par cet article". Ce problème a été corrigé dans le Service Pack 2 (SP2) de Microsoft .NET Framework.

Plus d'informations

Après avoir appliqué le correctif, les contrôles mis en cache (par exemple, les contrôle utilisateur qui incluent l'instruction OuputCache) sont rendus à l'aide du writer associé à la page et non plus avec HtmlTextWriter.

Si vous utilisez un navigateur de niveau inférieur, le writer est du type Html32TextWriter. Si vous utilisez un navigateur de niveau supérieur, le writer est du type HtmlTextWriter.

Propriétés

Numéro d'article: 321552 - Dernière mise à jour: dimanche 2 février 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET (inclus dans .NET Framework)
Mots-clés : 
kbnosurvey kbarchive kbbug kbcaching kbfix kbnetframe100presp2fix kbnetframe100sp2fix kbservercontrols KB321552
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com