呈现空值的数据绑定控件

时间:2011-02-28 15:28:16

标签: asp.net controls databound databound-controls

虽然自从ASP.Net 2.0以来我一直是Databound控件的忠实粉丝,并且自从学习它们以来一直在使用它们,我似乎偶然发现了一些未被注意(或者说不关心)这些控件的问题有

我正在使用ASP.Net 3.5,我注意到的问题是在数据控件(如Datalist,Gridview等)中使用数据绑定控件(如标签,超链接)时,即使返回值对于一列是NULL,它仍然会呈现为空标记。

例如:我有一个Datalist,其中Label的值可能是NULL,也可能不是NULL。现在,当值不是NULL时没有问题,问题是当值为<span></span>时。理想情况下,不应为没有任何值的控件呈现HTML,但在这种情况下,相应的NULL值控件的HTML(如果是Label,则为{{1}})仍然存在呈现。

现在,正如我之前所说,大多数人都不会关心这个,因为它不是一个问题,但如果你考虑这个控件可能被包含在父控件的层次结构中,然后重复很多时候,这可能会显着增加HTML内容(因为HTML内容的ID基于父控件)而没有添加任何Text以保持Text / HTML比率,从而成为搜索引擎回避的原因完全索引你的网页。

我在其他地方找不到任何与此事有关的内容,所以我想把它带到这里。这实际上是数据绑定控件的问题还是我在这里遗漏了什么?

总是感谢帮助。

1 个答案:

答案 0 :(得分:1)

是的,这是有道理的,因为控件不会自动隐藏自己,你必须通过Visible =“False”显式隐藏它们,即使没有内容。这与数据绑定控件和非数据绑定控件一样。当没有内容时排除标记可能会对应用程序造成混乱,特别是如果页面使用JavaScript。

HTH。