虽然自从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比率,从而成为搜索引擎回避的原因完全索引你的网页。
我在其他地方找不到任何与此事有关的内容,所以我想把它带到这里。这实际上是数据绑定控件的问题还是我在这里遗漏了什么?
总是感谢帮助。
答案 0 :(得分:1)
是的,这是有道理的,因为控件不会自动隐藏自己,你必须通过Visible =“False”显式隐藏它们,即使没有内容。这与数据绑定控件和非数据绑定控件一样。当没有内容时排除标记可能会对应用程序造成混乱,特别是如果页面使用JavaScript。
HTH。