Cra*_*ket 9 .net c# asp.net webforms
我正在将ListView绑定到一组正常工作的对象.不幸的是,当集合为空时,我没有按照我的预期显示EmptyItemTemplate元素中的文本.
标记代码是
<asp:ListView ID="lvBuildingContactsGrid" runat="server"
onitemcommand="lvBuildingContactsGrid_ItemCommand" >
<LayoutTemplate>
<!-- some more html markup -->
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
<!-- some more html markup -->
</LayoutTemplate>
<ItemTemplate>
<!-- some item makup -->
</ItemTemplate>
<EmptyItemTemplate>
<p> empty text that isn't displaying </p>
</EmptyItemTemplate>
</asp:ListView>
Run Code Online (Sandbox Code Playgroud)
绑定的代码是
ContactRoleCollection contactRoles = new ContactRoleCollection();
contactRoles.ContactRoleSearchByBuildingID(int params);
lvListView.DataSource = contactRoles;
lvListView.DataBind();
Run Code Online (Sandbox Code Playgroud)
当集合返回零计数时,则不显示EmptyItemTemplate文本.我查看了页面源,它根本没有呈现(而不是被隐藏).我已经用null替换了DataSource对象
lvListView.DataSource = null
Run Code Online (Sandbox Code Playgroud)
只是为了测试它,它仍然无法正常工作.没有再次呈现文本.
我在其他已经处理的页面上遇到过这个问题(放弃并完成了kludge的工作)所以这显然只是我缺少的东西 - 做错了.
任何输入赞赏
Fré*_*idi 26
看起来你很困惑EmptyItemTemplate,当没有更多数据项要显示在当前页面的最后一组时,使用EmptyDataTemplate进行渲染,当数据源不包含任何记录时,会呈现该数据项.
从你的问题来看,你似乎需要后者.你应该写:
<EmptyDataTemplate>
<p>Empty text that will be displayed.</p>
</EmptyDataTemplate>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10966 次 |
| 最近记录: |