在另一个Listview的EmptyDataTemplate中显示Listview

时间:2012-12-10 12:26:21

标签: c# asp.net listview web-controls

有没有办法将listview显示为另一个listview的空数据模板。我就像下面这样说。但它不会显示列表视图或它是空数据文本。仅显示“空数据第一列表视图”文本

<asp:ListView ID="searchResults" runat="server" ItemPlaceholderID="placeholder">
    <EmptyDataTemplate>
        empty data first listview
        <asp:ListView ID="suggestions" runat="server" ItemPlaceholderID="placeholder" DataSource="<%#Model.SearchSuggestions %>">
            <EmptyDataTemplate>
                empty data second listview</EmptyDataTemplate>
            <LayoutTemplate>
                <span class="suggestionList">
                    <asp:PlaceHolder ID="placeholder" runat="server"></asp:PlaceHolder>
                </span>
            </LayoutTemplate>
            <ItemTemplate>
                <%# Container.DataItem %>
            </ItemTemplate>
            <ItemSeparatorTemplate>
                ,</ItemSeparatorTemplate>
        </asp:ListView>
    </EmptyDataTemplate>
    <LayoutTemplate>
       *************
    </LayoutTemplate>
</asp:ListView>

1 个答案:

答案 0 :(得分:0)

我复制并粘贴了您的代码,并且能够通过在代码隐藏中手动数据绑定来使其工作。我对你的aspx代码做的唯一修改是删除对模型的引用,以简化我的设置。我在下面列出了我的丑陋/过于简单的测试代码。

protected void Page_Load(object sender, EventArgs e)
{
    searchResults.DataBind();
    searchResults.Controls[0].DataBind();
}