ASP.Net DataList HTML5一致性

时间:2011-07-12 01:08:55

标签: asp.net html html5

在尝试使我的ASP.Net 4.0站点验证HTML5时,我能够使用当前规范。我有一个DataList总是添加cellspacing =“0”我尝试了不同的方法来删除cellspacing =“0”。我添加了一个可以流过的CSS样式表。

任何人都知道如何使DataList符合HTML 5验证吗?

实际代码:

验证错误消息:表元素上的cellspacing属性已过时。改用CSS。

生成的代码:

1 个答案:

答案 0 :(得分:0)

我不是DataList的忠实粉丝 - 很多时候,标记生成是基于表格的,因此在语义上不正确。因此,如果可能的话,我建议使用一些备用控件,如Repeater或ListView。

现在,如果您遇到大量数据列表......其中一个解决方案是让您自己的自定义DataList控件明确覆盖cellspacing属性,例如

public class MyDataList : DataList
{
    protected override Style CreateControlStyle()
    {
        var s = new TableStyle();
        s.CellSpacing = -1;
        return s;
    }
}

然后,您可以使用ASP.NET Tag Mapping将内置数据列表替换为配置中所有页面的实现。