只是想知道这两者之间有什么区别,以及当我在 HtmlHelper 中构建表格时,其中一个或另一个有什么好处
HtmlTable table = new HtmlTable();
and:
TagBuilder table = new TagBuilder("table");
这与这个问题或多或少相同,
为什么使用 TagBuilder 而不是 StringBuilder? https://stackoverflow.com/questions/3043654/why-use-tagbuilder-instead-of-stringbuilder
但我更具体地想知道这两者之间的区别。
主要区别在于HtmlTable
为所有有效的 HTML 属性提供类型化且正确命名的属性<table>
元素(例如Width
, Height
, CellSpacing
, ETC)。它还具有Rows
属性是类型化集合HtmlTableRow
每个对象代表一个<tr>
元素。
TagBuilder
是一个更通用的 API,当然可以用来构建 HTML<table>
但您需要以不太类型安全且不太易于阅读的方式完成更多工作。
一个具体的例子,其中HmlTable
以某种方式提供帮助TagBuilder
不在设置中width=""
属性上的<table>
元素。
With HtmlTable
:
HtmlTable htmlTable = new HtmlTable();
htmlTable.Width = "100px";
With TagBuilder
:
TagBuilder tagBuilder = new TagBuilder("table");
tagBuilder.Attributes["width"] = "100px";
请注意,与TagBuilder
元素的名称,table
,以及属性的名称,width
,是引入两次错误(拼写错误)机会的字符串,而使用时不会发生这些错误HtmlTable
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)