<p>Are there any good methods for getting ASP.NET 2.0 to validate under the XHTML 1.0 Strict (or Transitional) DTD?  I'm interested to hear some ideas before I hack up the core of the HTTP response.</p>

<p>One major problem is the form tag itself, this is the output I got from W3C when I tried to validate:</p>

<pre><code>Line 13, Column 11: there is no attribute "name".
&lt;form name="aspnetForm" method="post" action="Default.aspx" onsubmit="javascript
</code></pre>

<p>That tag is very fundamental to ASP.NET, as you all know. Hmmmm.</p>

Its possible to change the output of ASP.NET controls using techniques like the
CSS Adapters
. Although I wouldn't personally recommend you use these out of the box, it might give you some hints on a good solution.
I generally avoid using the ASP.NET controls where ever possible, except ones that don't generate markup on their own such as the Repeater control. I would look into the ASP.NET MVC framework (what StackOverflow is built on) as this gives you 100% control over markup.