FIX: Render Method in BasePartialCachingControl Class Renders by Using HtmlTextWriter (321552)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework) 1.0 1.0

This article was previously published under Q321552

SYMPTOMS

The Render method in the BasePartialCachingControl class renders by using a writer of type HtmlTextWriter. This frequently occurs when you use an OuputCache directive for user controls. When a down-level browser browses to the page, the browser continues to use HtmlTextWriter instead of Html32TextWriter to render the user control.

For example, the following user control
<%@ Control Language="c#" %>
<%@ OutputCache Duration="30" VaryByParam="none" %>
<asp:TextBox id="txt" runat="server" Width="442px" />
				
should be rendered as follows for down-level browsers:
<input name="txt" id="txt" type="text" />
				
However, because a HtmlTextWriter type is used to render cached controls, the browser renders the user control as follows:
<input name="txt" id="txt" style="width:449px;" type="text" />
				
Notice the style attribute.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft .NET Framework. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

318836 INFO: How to Obtain the Latest .NET Framework Service Pack

The English version of this fix should have the following file attributes or later:
   Date         Time   Version           Size     File name
   --------------------------------------------------------------
   17-Apr-2002  20:45  1.0.3705.252      192,512  Aspnet_isapi.dll  
   17-Apr-2002  20:39                     19,332  Aspnet_perf.ini
   17-Apr-2002  20:45  1.0.3705.252       24,576  Aspnet_regiis.exe  
   17-Apr-2002  20:45  1.0.3705.252       28,672  Aspnet_wp.exe    
   20-Mar-2002  13:31                      8,709  Smartnav.js
   20-Mar-2002  13:31                      7,003  Smartnavie5.js
   19-Apr-2002  10:40  1.0.3705.252    1,183,744  System.web.dll   
				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft .NET Framework Service Pack 2 (SP2).

MORE INFORMATION

After you apply the fix, cached controls (for example, user controls that include the OuputCache directive) are rendered by using the writer that is associated with the page instead of by using HtmlTextWriter.

If you use a down-level browser, the writer is of type Html32TextWriter. If you use an up-level browser, the writer is of type HtmlTextWriter.

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbbug kbCaching kbfix kbNetFrame100PreSP2fix kbNetFrame100SP2fix kbServerControls KB321552