Основное отличие состоит в том, что HtmlTable
предоставляет типизированные и правильно именованные свойства для всех допустимых атрибутов HTML элемента <table>
(например, Width
, Height
, CellSpacing
и т. Д.).Он также имеет свойство Rows
, которое представляет собой типизированную коллекцию объектов HtmlTableRow
, каждый из которых представляет элемент <tr>
.
TagBuilder
- это гораздо более общий API, который, безусловно, можно использовать для созданияHTML <table>
, но вам нужно было бы выполнять больше работы менее безопасным и менее удобным для чтения способом.
Один конкретный пример, в котором HmlTable
помогает таким образом, которого нет TagBuilder
, вустановка атрибута width=""
для элемента <table>
.
С HtmlTable
:
HtmlTable htmlTable = new HtmlTable();
htmlTable.Width = "100px";
С TagBuilder
:
TagBuilder tagBuilder = new TagBuilder("table");
tagBuilder.Attributes["width"] = "100px";
Примечаниечто при TagBuilder
и имя элемента table
, и имя атрибута width
являются строками, которые предоставляют две возможности ошибки (орфографические ошибки), которые не возникают при использовании HtmlTable
.