当前位置:编程学习 > C#/ASP.NET >>

DataPager控件如何给DataList控件分页?Asp.net 3.5 C#

DataPager控件如何给DataList控件分页?Asp.net 3.5 C#

求解

Microsoft Visual Studio 2008

Email:Anysend@vip.qq.com

答案:
DataList控件没有实现 IPageableItemContainer接口, 所以不能用DataPager控件来实现分页。其实,vs2008中的ListView 控件不错,使用方便,自定义灵活,而且性能相对不错,其可以使用DataPager控件来实现分页。如果你坚持用DataList,那得实现IPageableItemContainer接口。在这里,我建议你使用aspnetpager这个第三方控件(到处有下),使用方便灵活,而且样式美观,性能好,能减少开发时间。

我没用过2008的。不过给DataList分页一定要是DataPager控件吗?

是的话。我帮不了你。

其实AspNetPager控件也可以给DataList控件分页的。还有DataList控件可以直接用代码也可行分页的哦!

为何不用gridview ?

gridview有你要的所有操作。参考:

http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx

DataList控件不实现 IPageableItemContainer, 所以不能用DataPager。 我建议你用ListView ,可以有更好的Html控制。以下是实现代码

<asp:ListView runat="server" ID="lv">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<%# Eval("Name") %><br />
</ItemTemplate>
</asp:ListView>
<asp:DataPager runat="server" ID="dp" PagedControlID="lv" PageSize="2" OnPreRender="DataPager_PreRender">
<Fields>
<asp:NextPreviousPagerField FirstPageText="<<" PreviousPageText="<" ShowNextPageButton="false"
ShowLastPageButton="false" />
<asp:NumericPagerField ButtonCount="5" />
<asp:NextPreviousPagerField LastPageText=">>" NextPageText=">" ShowFirstPageButton="false"
ShowPreviousPageButton="false" />
</Fields>
</asp:DataPager>

//////////////////////////////////////////

Code behind 代码

public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void DataPager_PreRender(object sender, EventArgs e)
{
lv.DataSource = new List<Contact> { new Contact(){Name="张三"},
new Contact(){Name="李四"}, new Contact(){Name = "王八"} }; /// 获取数据

lv.DataBind(); /// 绑定数据
}
}

public class Contact
{
public string Name { get; set; }
}

上一个:求 asp 按最后发布时间搜索数据库 然后生成1-5排序的 代码
下一个:asp.net 关于session传递值,服务器怎么区分的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,