Asp.Net ListView的Items属性始终为空

时间:2010-12-14 22:23:50

标签: asp.net listview binding

美好的一天

我有一个用户控件,其中包含一个用于显示标签的ListView 我正在数据绑定ListView和OnItemDataBound事件添加选项卡元素。 但是Items属性永远不会包含任何内容,并且始终为空(在PostBack和ItemDataBound上)。

标记:

<asp:ListView ID="SaleTabsListView" runat="server" OnItemDataBound="SaleTabsListView_OnItemDataBound" ItemPlaceholderID="SaleTabsPlaceHolder" EnableViewState="true">
    <LayoutTemplate>
        <div class="tabs">
            <asp:PlaceHolder runat="server" ID="SaleTabsPlaceHolder" />
        </div>
    </LayoutTemplate>
    <ItemTemplate>
        <asp:PlaceHolder runat="server" ID="ItemPlaceHolder" />
    </ItemTemplate>
</asp:ListView>

代码背后:

protected void SaleTabsListView_OnItemDataBound(object sender, ListViewItemEventArgs e)
    {
        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            var saleTab = ((ListViewDataItem)e.Item).DataItem as SalesTab;
            if (saleTab != null)
            {
                var placeHolder = e.Item.FindControl("ItemPlaceHolder") as PlaceHolder;
                var htmlAnchor = new HtmlAnchor();
                htmlAnchor.Attributes.Add("id", saleTab.Id);
                htmlAnchor.Attributes.Add("class", saleTab.IsCurrent ? currentTabClass : string.Empty);

                var emptyLabel = new Label();

                var label = new Label {Text = saleTab.Title};
                label.Attributes.Add("id", saleTab.Id + "Label");
                label.Attributes.Add("class", saleTab.IsComplete ? completeClass : incompleteClass);

                emptyLabel.Controls.Add(label);
                htmlAnchor.Controls.Add(emptyLabel);
                placeHolder.Controls.Add(htmlAnchor);
            }
        }
    }

所以我的问题是:我正在以某种方式搞乱使用Items属性吗?

由于

0 个答案:

没有答案