当空的asp.net时,ListView LayoutTemplate不显示

Nib*_*Pig 6 asp.net listview

我有一个<asp:ListView>但由于某种原因,虽然该<EmptyDataTemplate>部分显示,但是当列表为空时,LayoutTemplate部分不会显示.LayoutTemplate包含表的标题,我想在数据源中没有项目时显示空表,而不仅仅是EmptyDataTemplate的内容.

如果没有选择,我会将LayoutTemplate复制到EmptyDataTemplate中,但是这样做似乎很愚蠢.想法?

Ale*_*lex 14

来自MSDN:

ListView当绑定到控件的数据源不包含任何记录且InsertItemPosition属性设置为时,空模板将显示在 控件 中 InsertItemPosition.None.渲染模板而不是 LayoutTemplate模板.如果 InsertItemPosition属性设置为其他值 InsertItemPosition.None, EmptyDataTemplate则不会呈现模板.

这里的关键词是"...模板呈现代替LayoutTemplate模板......"

所以我认为,你必须将其复制LayoutTemplateEmptyDataTemplate模板中.

  • 确实.对于在ListViews中呈现其行的表,我只是将头标记放在ListView之外,而LayoutTemplate现在只保存ItemPlaceholder. (7认同)