c# - HtmlTable 和 TagBuilder 的区别 ("table")

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

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

HtmlTable table = new HtmlTable();

和:

TagBuilder table = new TagBuilder("table");

这和这个问题差不多,

Why use TagBuilder instead of StringBuilder?

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

最佳答案

主要区别在于 HtmlTable<table> 的所有有效 HTML 属性提供类型化和正确命名的属性元素(例如 WidthHeightCellSpacing 等)。它还具有 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 时不会发生这些错误(拼写错误) .

关于c# - HtmlTable 和 TagBuilder 的区别 ("table"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043800/

相关文章:

asp.net-mvc - EF Code FIrst和数据库优先模型的差异

c# - Web.Optimizations - 有什么方法可以从 Style/Script Bundle 中获取所有内容?

ASP.NET MVC - jquery 日期选择器

c# - MVC RC 验证 : Is this right?

c# - 在前面使用图像和控件

c# - 搜索功能概念

c# - unity计算相对于主摄像头的四元数

c# - 有多个工具提示/弹出窗口整齐地堆叠在 Windows 系统托盘区域,类似于 Messenger/反病毒通知

radio-button - MVC 5 RadioButtonFor enum,总是选择默认的枚举值零?

jquery - MVC3 html 帮助程序和 javascript