Asp.net 设置ListView中最后一项的样式

Asp.net 设置ListView中最后一项的样式,asp.net,listview,styling,Asp.net,Listview,Styling,是否有任何简单的方法可以设置ListView控件中最后一项的样式?基本上需要附加一个类 干杯有 比苏多级 但不能在所有浏览器中使用 最好的方法是将css类添加到listview中的最后一个项并设置其样式 如果可以使用jQuery,那么可以使用 选择器phoenix的答案并没有真正回答这个问题,phoenix建议使用不同的css类设置最后一项的样式,但您如何知道哪一项是最后一项?ListView具有 没有LastItemTemplate 您可以使用获取您在当前列表中的位置。你可以使用Items

是否有任何简单的方法可以设置ListView控件中最后一项的样式?基本上需要附加一个类

干杯

比苏多级

但不能在所有浏览器中使用

最好的方法是将css类添加到listview中的最后一个项并设置其样式

如果可以使用jQuery,那么可以使用


选择器

phoenix的答案并没有真正回答这个问题,phoenix建议使用不同的css类设置最后一项的样式,但您如何知道哪一项是最后一项?ListView具有 没有LastItemTemplate

您可以使用获取您在当前列表中的位置。你可以使用Items。依靠控件来获得总数,但将这两个元素结合起来稍微有点困难
超出我的ASP.NET技能。

用逗号分隔客户名单。最后一个客户名称将以点结尾

顾客A,顾客B,顾客C

<asp:ListView ID="lvCustomers" runat="server">
  <LayoutTemplate>
    <div id="itemPlaceHolder" runat="server"></div>
  </LayoutTemplate>
  <ItemTemplate>
    <%# Eval("CustomerName")<%# Container.DisplayIndex == (Container.BindingContainer.As<ListView>().DataSource.As<System.Collections.Generic.List<String>>().Count - 1) ? "." : ", " %>
  </ItemTemplate>
</asp:ListView>


我在ItemDataBound listview事件中执行此类操作。 但出于这个目的,我需要知道数据源的类型

例如:

protected void LvFilters_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        ListViewDataItem item = e.Item as ListViewDataItem;
        if(item.DataItemIndex == ((YourDataSourceType)lvFilters.DataSource).Count - 1)
            e.Item.FindControl("Control's id here").Visible = false; // or whatever you wanna do about styling
    }
}
我把它当成了工作

<%#(Container.DataItemIndex == dataList.Count - 1 ? "last" : "")%>


其中datalist是自定义数据类内置代码,并绑定到listview。

listview不是windows窗体控件吗?子控件的数量是否始终相同且已知?
<%#(Container.DataItemIndex == dataList.Count - 1 ? "last" : "")%>