只是想知道这两者之间的区别是什么,当我在HtmlHelper中构建我的表时,它们中的一个或另一个的好处是什么
HtmlTable table = new HtmlTable();
和
TagBuilder table = new TagBuilder("table");
这或多与此问题相同,
Why use TagBuilder instead of StringBuilder?
但我更想知道这两者之间的区别。
答案 0 :(得分:5)
主要区别在于HtmlTable
为<table>
元素的所有有效HTML属性提供了类型化和正确命名的属性(例如Width
,Height
,{{1等等)。它还具有CellSpacing
属性,该属性是Rows
个对象的类型集合,每个对象都会重新显示HtmlTableRow
元素。
<tr>
是一个更通用的API,它当然可以用于构建HTML TagBuilder
,但您需要以更少类型安全且不易阅读的方式完成更多工作。< / p>
<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
时不会发生。