HtmlTable和TagBuilder之间的区别(“表”)

时间:2010-06-15 08:56:56

标签: c# asp.net-mvc html-helper

只是想知道这两者之间的区别是什么,当我在HtmlHelper中构建我的表时,它们中的一个或另一个的好处是什么

HtmlTable table = new HtmlTable();

TagBuilder table = new TagBuilder("table");

这或多与此问题相同,

Why use TagBuilder instead of StringBuilder?

但我更想知道这两者之间的区别。

1 个答案:

答案 0 :(得分:5)

主要区别在于HtmlTable<table>元素的所有有效HTML属性提供了类型化和正确命名的属性(例如WidthHeight,{{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时不会发生。