0

尽管我从 ASP.Net 2.0 开始就非常喜欢 Databound 控件,并且自从学习它们以来一直在使用它们,但我似乎偶然发现了这些控件似乎存在的一个未被注意(或者更确切地说是不关心)的问题。

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

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

现在,正如我之前所说,大多数人不会关心这个,因为这不是什么大问题,但如果你考虑到这个控件可能包含在父控件的层次结构中,然后重复多次,这可能会显着增加 HTML 内容(因为您的 HTML 内容的 ID 基于父控件),而无需添加任何文本来保持文本/HTML 比率,从而成为搜索引擎回避索引您的页面的原因完全。

我在其他任何地方都找不到与这件事有关的任何东西,所以我想在这里提出来。这真的是数据绑定控件的问题还是我在这里遗漏了什么?

帮助总是受到赞赏。

4

1 回答 1

1

是的,这是有道理的,因为控件不会自动隐藏自己,即使没有内容,您也必须通过 Visible="False" 显式隐藏它们。这与数据绑定控件和非数据绑定控件类似。在没有内容时排除标记可能会给应用程序造成混乱,尤其是在页面使用 JavaScript 时。

HTH。

于 2011-02-28T16:41:29.147 回答