0

所以我在这里遇到了一个奇怪的情况。

我有一个输出简单表格元素的 ASP 文件。<table>在文件中标记。

但是,当它渲染时,它会<table cellpadding="0" cellspacing="0">在最终标记上生成。

我想删除 cellpadding 和 cellspacing,因为它是无效的 HTML5。使用 HTML5 验证器时出现错误。

谁能指出我如何删除它们的正确方向?

我尝试removeAttr('cellpadding')在 html 控制台中使用 jquery 来删除该属性,但是在标记中它仍然存在,因此 HTML5 验证器仍然显示错误。

任何帮助,将不胜感激。谢谢

4

1 回答 1

1

ASP.NET 控件因喷出这种东西而臭名昭著。

您可以:

  • 通过分析其代码并找到一种方法来删除这些属性的呈现,了解 ASP 表的工作原理(从内存中,您可以将其转换回 WebControl 或控件,然后您可以修改其属性 [集合](高级但简单,一旦您知识)

  • 使用 ControlAdapter 套件cssfriendly(新手的“开箱即用”解决方案)[更新] 看着 cssfriendly,看起来他们没有为 Table 实现控制适配器,所以你不能使用它(除了检查他们是如何做到了,并为 Table 滚动你自己的

  • 编写一个控制适配器(比仅仅使用 cssfriendly 更高级但 hacky 恕我直言)

  • 编写自己的 Databound/TemplatedDatabound WebControl(有趣但更高级)
  • 只需使用 for 循环等编写原始 html(当您放弃上述所有内容时)
于 2013-06-08T08:02:36.413 回答