Página alojada en IIS7.5 cambia la apariencia en IIS6

1

Estoy en medio de cambiar nuestro sitio a un nuevo servidor web (Server 2008 R2), y estoy tratando de copiar una de las nuevas aplicaciones al servidor antiguo (Server 2003) para permitir a los usuarios acceder al mismo mientras tanto . El problema con el que me estoy topando es que, aunque copié la carpeta directamente al servidor anterior, inicié la aplicación en el servidor antiguo y configuré la versión ASP.NET a 4.0 para que coincida con la que está usando en el nuevo servidor, servidor antiguo muestra la página de manera diferente. Específicamente, el estilo CSS (ubicado en la cabecera) que establece el tamaño y tipo de fuente no se utiliza en el servidor antiguo. En otra página, un área de texto no se muestra en las dimensiones especificadas en la página ASP.NET; la información de estilo simplemente no llega al código fuente de la página resultante.

Por ejemplo, aquí está la línea de código en el archivo aspx:

<td colspan="3"><asp:TextBox ID="cre_slm_comm1" runat="server" Height="156px"
    TextMode="MultiLine" Width="400px" Text='<%# Eval("cre_slm_comm1") %>' /></td>

Este es el código fuente resultante en el servidor IIS6:

<td colspan="3"><textarea name="FormView1$cre_slm_comm1" rows="2" cols="20"
    id="FormView1_cre_slm_comm1">Test comment. 3/1/13. br.</textarea></td>

Y la misma línea en el servidor IIS7.5:

<td colspan="3"><textarea name="FormView1$cre_slm_comm1" rows="2" cols="20"
    id="FormView1_cre_slm_comm1" style="height:156px;width:400px;">
    Test comment. 3/1/13. br.</textarea></td>

¿Alguna sugerencia sobre qué puedo hacer para corregir la forma en que estos servidores no interpretan el código de la misma manera?

Ben
fuente
Si no se utiliza en el servidor antiguo. ¿No sería la solución lógica eliminarla?
Ramhound
Pertenece en serverfault.com. También intenta usar v2 del framework?
Ian Quigley
Ramhound: No entiendo tu comentario. Ian: La página funciona bien con .net 4.0 en el servidor IIS7.5. También está usando 4.0 en el servidor IIS6. ¿Por qué cambiar a v2 hace una diferencia?

Respuestas:

2

Cambie el grupo de aplicaciones del sitio en IIS para apuntar a la misma versión de .NET Framework y Pipeline del otro servidor.

o agregar esta linea en web.config:

<pages controlRenderingCompatibilityVersion="3.5" />

ASP.NET 4 Cambios de última hora

Asp.net adapta el html representado según el tipo y la versión del navegador. Compruebe si está relacionado sólo con un navegador.

Si el problema persiste, puede tratarse de un error de .net o el servidor 2 tenga alguna diferencia en la versión del marco (algún parche, etc.).

De todos modos, una solución sencilla y una MEJ recomendada es utilizar una clase css para diseñar un elemento.

giammin
fuente
Esa línea ya está presente en web.config, y el marco es 4.0 en ambos (indicado en OP).
@Ben realmente extraño ... ¿estás usando diferentes navegadores? La encuesta de la aplicación está en pipeline integrado o clásico?
giammin
Giammin: No. IE10, dos pestañas diferentes. Tengo la página detenida en el nuevo servidor en uno y el antiguo en el otro. IIS7.5 tiene el mismo aspecto tanto en el modo integrado como en el clásico (aunque lo tengo usando integrado). El servidor IIS6 está interpretando el aspx de manera diferente y, como resultado, está perdiendo parte del estilo en la fuente resultante. Sin embargo, no estoy seguro de qué causaría eso.
@Ben esto es un comportamiento asp.net. Se está adaptando la representación de elementos html.
giammin
1
Hubo algunas cosas que se rompieron (era un elemento único en cada una de las tres páginas, específicamente), así que terminé sacando esos elementos de estilo de los atributos del elemento y asignándolos a una clase css para cada elemento. No estoy seguro de por qué era necesario (al parecer, IIS6 simplemente no estaba traduciendo esas configuraciones de atributos correctamente a la representación HTML), pero funciona como está, lo que es realmente lo que es importante de todos modos. ¡Gracias!