2012-07-22 10 views
8

¿Por qué ASP.NET representa el elemento de entrada oculto __VIEWSTATE dentro de <div></div>?¿Por qué el elemento de entrada oculta __VIEWSTATE está rodeado por <div></div>?

+0

Gracias de antemano por los votos hacia abajo. Si el tiempo lo permite, hágamelo saber por qué. –

+0

Le pide a la gente que especule: esto no se ajusta al enfoque [SO] de hacer preguntas que tienen respuestas objetivas. Ver las preguntas frecuentes – Richard

+0

Eso es BS. No estoy pidiendo especulaciones. Estoy buscando una respuesta. Como desarrollador web, me preocupo por cada elemento de mi página. Un '

' ocupa espacio. Con tiempo suficiente, alguien que conozca la respuesta aparecerá aquí y déjenos saber los motivos de esta decisión. Hay mucha gente en SO que puede obtener la información privilegiada si hacemos las preguntas correctas. ¿Por qué no dejas que esto sea por un tiempo? –

Respuesta

5

Lo hicieron para "ser más alineado con los estándares web" - aquí es una cita de MSDN Magazine artículo Enforce Web Standards For Better Accessibility:

Hubo algunas deficiencias conocidas en ASP.NET 1.1. Los controles listos para usar producían código que no pasaría la validación. Que se atribuyó en gran parte a la forma en que se manejó ViewState en ASP.NET 1.1 que utilizan una etiqueta de entrada oculto que no estaba contenida dentro de una ventana de secuencia, como esto:

<input type="hidden" name="__VIEWSTATE" value="dDwtMTU1NzQzNDgy..." /> 

Esto, combinado con algunas otras cuestiones sintácticas, le dio a ASP.NET 1.1 una desafortunada reputación por incumplimiento.
ASP.NET 2.0 solucionó muchos de los problemas de estándares web. Por ejemplo, si nos fijamos en la fuente de las páginas ASP.NET 2.0-generados, se ve que ViewState está envuelto en una etiqueta div, por lo que es compatible con:

<div> 
     <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dDwtMTU1NzQzNDgy..." /> 
</div> 

Microsoft ha dado a conocer públicamente que una de los objetivos de ASP.NET 2.0 es para estar más alineado con los estándares web y, de hecho, ASP.NET 2.0 le permite crear sitios web y controles compatibles. Un buen recurso para construir sitios Web compatibles es el artículo MSDN® de Stephen Walther "Building ASP.NET 2.0 Web Sites Using Web Standards". Este artículo de 78 páginas entra en gran detalle en la construcción de sitios de acuerdo con los estándares web.

Si esto está realmente más alineado con los estándares web está abierto para el debate personalmente No estoy en los estándares web lo suficiente como para hacer mi propia opinión, solo respondo lo que usted pidió.

+0

OK.En realidad, todavía no entiendo por qué un '' parado por sí mismo no "pasaría la validación". Pero gracias muchísimo por la entrada. –

+1

Estoy con usted en esto - tal vez valga la pena una pregunta por separado, preguntando desde los estándares web puros y/o el punto de vista de CSS. :) Por cierto, de alguna manera recibiste una afluencia de votos positivos, ¡aplausos por eso! (solo el primero fue de mi parte) –

+0

Consulte la biografía al final del artículo citado: el autor * no * es parte del equipo de ASP.NET. – Richard

Cuestiones relacionadas