在 ListView 中分组
在 ASP.NET WebForms 框架 3.5 中引入的 asp:ListView
是框架中所有 DataPresentation 控件中最灵活的。使用 ListView 进行分组的示例(将作为图像库使用)
目标 :使用 asp:ListView
连续显示三个图像
标记
<asp:ListView ID="SportsImageList" runat="server"
GroupItemCount="3">
<LayoutTemplate>
<span class="images-list">
<ul id="groupPlaceholder" runat="server"></ul>
</span>
</LayoutTemplate>
<GroupTemplate>
<ul>
<li id="itemPlaceholder" runat="server"></li>
</ul>
</GroupTemplate>
<ItemTemplate>
<li>
<img src='<%# Container.DataItem %>' />
</li>
</ItemTemplate>
</asp:ListView>
代码背后
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
SportsImageList.DataSource = GetImages();
SportsImageList.DataBind();
}
}
private static IEnumerable<string> GetImages()
{
var images = Enumerable.Range(1, 9) //get numbers 1 to 9
.Select(i =>
string.Format("http://lorempixel.com/100/100/sports/{0}/", i)
); //convert the numbers to string
return images;
}
CSS
.images-list ul{
clear: both;
list-style-type: none;
}
.images-list ul li{
float: left;
padding: 5px;
}