1

リストビューを別のリストビューの空のデータ テンプレートとして表示する方法はありますか。私はちょうどそれを次のように置きます。ただし、リストビューが表示されないか、空のデータテキストです。「空のデータが最初のリストビュー」テキストのみを表示する

<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>
4

1 に答える 1

0

私はあなたのコードをコピーして貼り付け、コードビハインドで手動でデータバインドすることで動作させることができました. 私があなたの aspx コードに加えた唯一の変更は、モデルへの参照を削除して、私の側での設定を簡素化することでした。以下に、醜い/過度に単純なテストコードを含めました。

protected void Page_Load(object sender, EventArgs e)
{
    searchResults.DataBind();
    searchResults.Controls[0].DataBind();
}
于 2012-12-20T14:22:12.240 に答える