ASP.NET 2.0 has been designed to comply with the xHTML Transitional specification. Although this section is not going to explore xHTML in depth, some things are worth pointing out because they affect not only the output rendered to the browser but also the output from page templates. The major points are listed here.
Client script tags are rendered without the language attribute and with the type attribute.
Hidden fields, such as those used by ViewState, are rendered within a div whose display attribute is set to none.
Input elements must be rendered within a block element; therefore, immediately inside the form element is a div element.
The form name attribute is rendered only when the browser capability W3CDomVersion.MajorVersion is greater than 0.
Special characters (such as ampersands, apostrophes, and angle brackets) are now encoded in both attributes and query strings rendered by controls.