2008-09-30 9 views
10

¿Hay algún buen método para que ASP.NET 2.0 valide bajo la DTD XHTML 1.0 Estricta (o Transitoria)? Estoy interesado en escuchar algunas ideas antes de piratear el núcleo de la respuesta HTTP.XHTML 1.0 Cumplimiento estricto (o transitorio) en ASP.NET 2.0/3.5

Un problema importante es la etiqueta de forma en sí misma, esta es la salida que recibí de W3C cuando trataba de validar:

Line 13, Column 11: there is no attribute "name". 
<form name="aspnetForm" method="post" action="Default.aspx" onsubmit="javascript 

Esa etiqueta es muy fundamental para ASP.NET, como todos ustedes saben. Hmmmm

Respuesta

11

ASP.NET 2.0 y superior pueden generar XHTML estricto (o transitorio). Esto resolverá su error de validación 'no hay ningún atributo' 'nombre' ', entre otras cosas. Para hacer esto, actualizar el archivo Web.config con algo como:

<system.web> 
    ... other configuration goes here ... 
    <xhtmlConformance mode="Strict" /> 
</system.web> 

para XHTML Transición, utilizar mode="Transitional" lugar.

Consulte How to: Configure XHTML Rendering in ASP.NET Web Sites en MSDN.

+0

No estoy seguro de lo que estoy haciendo mal, pero parece que no hace nada. Estoy usando .Net 3.5 y configuré esta etiqueta de configuración para todos los valores posibles, y mis metaetiquetas aún se muestran con un de cierre. ¿Algo que pueda hacer? – Allov

2

Es posible cambiar la salida de los controles ASP.NET utilizando técnicas como CSS Adapters. Aunque personalmente no recomendaría que los utilizara de manera inmediata, podría darle algunas pistas sobre una buena solución.

Por lo general, evito utilizar los controles ASP.NET donde sea posible, excepto aquellos que no generan marcas por sí solos, como el control Repeater. Me gustaría ver en el marco ASP.NET MVC (en qué StackOverflow se basa) ya que esto le da un control del 100% sobre el marcado.

+1

El control Reapter es pésimo, span o tablas es todo lo que obtienes, mira el ListView en 3.5 en su lugar. – craigmoliver

+0

No tengo experiencia con 3.5 por lo que no pude comentar en ListView, pero no veo el problema con el control Repeater, puede usar las etiquetas que elija y tener varios 'subcontroles' para generar su propio marcado también . – roryf

+0

echa un vistazo a la fuente – craigmoliver

4

¿Has considerado el ASP.NET MVC Framework? Es probable que sea una mejor apuesta si el cumplimiento estricto de XHTML es un requisito. Obtiene más control de su producción, pero estará pisando territorio desconocido si ya se siente cómodo con el modelo ASP.NET tradicional.

+0

Beta es un poco arriesgado para una aplicación de producción para mí (no para StackOverflow). Además, la aplicación ya se ha escrito. – craigmoliver

+0

los controles web no están diseñados para la validación xhtml. Están construidos para su conveniencia. Use addapters CSS o reescriba su UI. Es una pastilla pegajosa, pero se toma mejor con mucho alcohol. – Will

+0

ASP.NET MVC 1.0 fue lanzado el 2009-03-17. El trabajo se encuentra actualmente en una versión 2.0. – foson

Cuestiones relacionadas