ASP.NET genera il codice HTML a runtime in base al browser che effettua la richiesta. Prova a richiamare la tua pagina con il tuo browser e vedrai che il codice HTML è corretto (style="border-width:0px;"). Se il tuo obiettivo è generare codice XHTML standard il problema è risolto.

Se invece utilizzi il vadidatore del W3C, questo non viene correttamente identificato da ASP.NET che genera per lui (e solo per lui) un codice "vecchio stile".

La soluzione più semplice è utilizzare la direttiva Page.ClientTarget = "uplevel" (in questo modo viene generato per tutti i browser lo stesso HTML).