ASP.NET HTML code generation, two approaches
Second approach is better, according to the rule: do not repeat the code!

Don't use '+=' to join string, in your case better to use StringBuilder:

var sb = new StringBuilder();
sb.Append();
...
sb.Appden();
...
return sb.ToString();


I think this is better way, StringBuilder is made for this.
You can refactor this code better little more :-)