我需要对我的用户控件进行分页——8 或 10 组应该看起来不错。目前,它们位于占位符中:
<asp:PlaceHolder ID="ProfileContainer" runat="server"></asp:PlaceHolder>
占位符的填充如下:
var model = //LINQ to Entities query
foreach(var profile in model) {
Controls_Profile profile = (Controls_Profile)Page.LoadControl("~/Controls/Profile.ascx");
profile.Name = model.Name;
//more properties
ProfileContainer.Controls.Add(profile);
}
如果我有数百个个人资料,如何对结果进行分页?我发现的大多数帖子都与创建仅对表格进行分页的自定义分页控件有关。
我考虑创建一个计数器,在第一个控件前面加上
<div id="Group1">
。在 8 或 10 个控件后,附加 </div>
。我可以使用 jQuery 插入上一个/下一个链接并根据组号控制它们的流程。但是,在添加控件时,如何在循环中间执行 Response.Write("<div id="groupx">");
操作?那该怎么办?
关于我的评论:
public DataTable getControls()
{
DataTable dt = new DataTable();
//Code to populate table
return dt;
}
并且:
<asp:GridView ID="YourGridView" AllowPaging="true" DataSource='<%# getControls() %>'></asp:GridView>
我担心您的数据源必须具有某种可枚举接口才能使分页正常工作。
如果失败,我建议您阅读常见的分页技术并手动实施一些操作。没有你想象的那么难。