why don't you just use one of the built in controls that render as a table such as GridView? seems like you are re-inventing the wheel.
when you hard code html you should make it lower case else it will not be valid xhtml
html tables are not meant for layout, only for displaying tabular data. If you are displaying tabular data you should use <asp:GridView or <portal:mojoGridView
if you are not displaying tabular data you should not use html tables.
Hope it helps,
Joe