ASP.Net Список просмотра EmptyItemTemplate не отображается - PullRequest
9 голосов
/ 04 января 2011

Я связываю 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>

Код привязки -

        ContactRoleCollection contactRoles = new ContactRoleCollection();
        contactRoles.ContactRoleSearchByBuildingID(int params);

        lvListView.DataSource = contactRoles;
        lvListView.DataBind();

Когда коллекция возвращает нулевое значение, текст EmptyItemTemplate не отображается.Я просмотрел исходный код страницы, и он вообще не отображается (а не скрыт).Я заменил объект DataSource просто нулевым, т. Е.

lvListView.DataSource = null

Просто чтобы проверить его, и он все еще не работает.Текст не отображается снова.

У меня была эта проблема на других страницах, над которыми я работал (и бросил и сделал обходные пути kludge), так что, очевидно, я просто что-то упускаю - неправильно делаю.

Любой вклад приветствуется

1 Ответ

25 голосов
/ 04 января 2011

Похоже, вы путаете EmptyItemTemplate , который отображается, когда больше нет элементов данных для отображения в последней группе текущей страницы, с EmptyDataTemplate , чтоотображается, когда источник данных не содержит никаких записей.

Судя по вашему вопросу, вам нужно последнее.Вы должны написать:

<EmptyDataTemplate>
    <p>Empty text that will be displayed.</p>
</EmptyDataTemplate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...