我的Web项目使用LINQ To SQL访问数据,使用转发器控件来显示它。 据我所知,转发器没有像GridView那样内置的分页系统,所以我想我会选择无限滚动。
我发现this jquery plugin似乎最初有效,但经过几次测试后,我发现它不再是“隐藏”物品了。
该项目使用“幕后”类进行数据访问,清除页面的部分类以处理数据的显示方式:
// App_Code/netGuestData.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using netguestModel;
public class netguestData
{
private netguestEntities ne = new netguestEntities();
public netguestData()
{
//
// TODO: Add constructor logic here
//
}
public IEnumerable<post> GetPosts()
{
var posts = from p in ne.posts
select p;
return posts;
}
}
// ~/Default.aspx.cs
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadGuestbook();
}
}
private void loadGuestbook()
{
netguestData nd = new netguestData();
rptGuestbook.DataSource = nd.GetPosts();
rptGuestbook.DataBind();
}
}
这是标记...
<asp:Repeater runat="server" ID="rptGuestbook" OnItemCommand="rptGuestbook_ItemCommand"
OnItemDataBound="rptGuestbook_ItemDataBound">
<ItemTemplate>
<div runat="server" id="divPost" class="post">
<div runat="server" id="divAuthor" class="author">
<asp:Panel runat="server" ID="pnlAdmin" CssClass="delete-button" Visible="false">
<asp:Button runat="server" ID="btnDeletePost" CssClass="button" Text="Delete Post"
CommandName="DeletePost" CommandArgument='<%# Eval("postid") %>' />
<asp:Label runat="server" ID="lblShowEmail" Text='<%# Eval("showemail") %>' CssClass="hidden"></asp:Label>
</asp:Panel>
<ul>
<li><span>Posted By: </span>
<%# Eval("postauthor") %><br />
<li>
<asp:HyperLink runat="server" ID="lnkWeb" ImageUrl="~/Images/webicon.png" NavigateUrl='<%# Eval("webaddress") %>'></asp:HyperLink></li>
<li>
<asp:HyperLink runat="server" ID="lnkEmail" ImageUrl="~/Images/emailicon.png" NavigateUrl='mailto: <%# DataBinder.Eval(Container.DataItem, "emailaddress" %>'></asp:HyperLink></li>
</ul>
</div>
<div runat="server" id="divMessage" class="post-message">
<div class="post-date"><span>Posted On:</span> <%# Eval("postdate") %></div>
<%# Eval("postmessage") %></div>
<div class="scroll"></div>
</div>
</ItemTemplate>
</asp:Repeater>
这一切都很简单。为了使用转发器实现无限滚动,我找到this article on dotnetcurry,但这只是_Default分部类中的所有内容,它根本不适合我。
我一直在试图弄清楚如何根据我的情况调整这个例子,但到目前为止,我已经空了。
如果有人能帮助我在我的项目上进行无限滚动工作 - 即使你只是解释我必须做的事情的概念 - 我会非常感激。
提前致谢!
答案 0 :(得分:0)
好的,所以我在facebook上的一个小组中询问过那里有人建议延迟加载。
Here's a question我前一段时间问过,有所有细节。
注意:强> 在更改我的代码以考虑问题的答案之后,我注意到这不会像我预期的那样将第10 /第3 /第4 /等10行的集合添加到现有集合中。