在asp.net Web应用程序中,我为这样的数据主义分页编写代码:
PagDat = new PagedDataSource();
PagDat.AllowPaging = true;
PagDat.PageSize = 10;
PagDat.CurrentPageIndex = **currentpage**;
PagDat.DataSource = ds.Tables[0].DefaultView;
dtlstMagazine.DataSource = PagDat;
dtlstMagazine.DataBind();
在这个“currentpage”中是一个整数变量,我声明为静态。我认为当更多用户访问此页面时,它可能会发生冲突吗?
答案 0 :(得分:1)
是的,你是对的。
您应该保存PageDataSouce
page index in State Management object
。使用静态变量在Web中不是一个好方法 申请此类页面级别的操作。
创建CurrentPage property
:
public int CurrentPage
{
get
{
// look for current page in ViewState
object o = this.ViewState["_CurrentPage"];
if (o == null)
return 0; // default page index of 0
else
return (int) o;
}
set
{
this.ViewState["_CurrentPage"] = value;
}
}
查看以下链接以获取更多信息:
Adding Paging Support to the Repeater or DataList with the PagedDataSource Class