ASP表创建额外属性,对HTML5无效

时间:2013-06-08 07:54:57

标签: asp.net html5 validation

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

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

然而,当它呈现时,它会在最终标记处生成<table cellpadding="0" cellspacing="0">

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

有人能指出我如何移除它们的正确方向吗?

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

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

1 个答案:

答案 0 :(得分:1)

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

你可以:

  • 通过分析代码并找到一种方法来删除这些属性的渲染(从内存中可以将其转换回WebControl或Control,然后您可以修改其属性[集合]),了解ASP表的工作原理(一旦你知道如何,先进但容易)

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

  • 编写一个控制适配器(比使用cssfriendly但hacky imho更高级)

  • 编写您自己的Databound / TemplatedDatabound WebControl(有趣但更高级)
  • 只需用for循环等编写原始html(当你放弃上述所有内容时)