我正在寻找在ASP.NET中实现此功能的最佳方法。
在页面上,用户可以选择使用下一个和上一个按钮“订阅”订阅号码。
当用户点击下一个/上一个按钮时,页面将被回发(部分,AJAX),订阅详细信息将以表格形式显示。一次只显示一行。
有10,000个订阅号,所以如果我们可以避免在每次回发时加载所有订阅号,我们会更喜欢。
不知怎的,我需要一个计数器来跟踪总项目和当前位置,不是吗?如果是这样的话,你会如何存储它们以便它们坚持回发?
提前致谢。非常感谢帮助。
答案 0 :(得分:3)
您可以在页面上创建属性变量,并将值存储在Page的ViewState中。这是一个例子:
public int CurrentPosition
{
get{return (int)(ViewState["CurrentPosition"] ?? 0);}
set{ViewState["CurrentPosition"] = value;}
}
在此示例中,在回发之间,无论是全部还是部分,将保留CurrentPosition属性中保存的值。
最初CurrentPosition将等于0,然后在您的查询中使用类似WHERE ID = CurrentPosition + 1
的检索,然后将CurrentPosition的值增加1。如果在结果中导航,则减少1。