datapager分页问题 (点击两次)
来源:互联网 发布:单片机程序烧录 编辑:程序博客网 时间:2024/05/16 07:56
今天看了一下ListView和DataPager配合做数据分页的教程,感觉很爽很方便,用在自己的项目上面时却出现了问题,具体表现在点击上一页、下一页或者数字跳转页面时通常要点两下才能有反应,而且有时候乱跳页。
我开始测试的代码是这样的:
public partial class ListViewTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
BindData();
}
protected void BindData()
{
DBDataContext db = new DBDataContext();
var ds = db.Category;
ListView1.DataSource = ds;
ListView1.DataBind();
db.Dispose();
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
BindData();
}
protected void BindData()
{
DBDataContext db = new DBDataContext();
var ds = db.Category;
ListView1.DataSource = ds;
ListView1.DataBind();
db.Dispose();
}
}
出现如开始提及的问题,找了半天原因也没有找到。后来在国外的一个论坛上找到了同病相怜的人,有专家给出了一个解决方案。把Page_Load里的数据绑定移到Page_PreRender中,也就是:
public partial class ListViewTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//if (!Page.IsPostBack)
// BindData();
}
protected void Page_PreRender(object sender, EventArgs e)
{
BindData();
}
protected void BindData()
{
DBDataContext db = new DBDataContext();
var ds = db.Category;
ListView1.DataSource = ds;
ListView1.DataBind();
db.Dispose();
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
//if (!Page.IsPostBack)
// BindData();
}
protected void Page_PreRender(object sender, EventArgs e)
{
BindData();
}
protected void BindData()
{
DBDataContext db = new DBDataContext();
var ds = db.Category;
ListView1.DataSource = ds;
ListView1.DataBind();
db.Dispose();
}
}
试了一下分页果然正常了。难道是Page_Load来的太迟?不得而知。另外,还有一种方法同样可行:
public partial class ListViewTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
BindData();
}
protected void Page_PreRender(object sender, EventArgs e)
{
//BindData();
}
protected void ListView1_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
BindData();
}
protected void BindData()
{
DBDataContext db = new DBDataContext();
var ds = db.Category;
ListView1.DataSource = ds;
ListView1.DataBind();
db.Dispose();
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
BindData();
}
protected void Page_PreRender(object sender, EventArgs e)
{
//BindData();
}
protected void ListView1_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
BindData();
}
protected void BindData()
{
DBDataContext db = new DBDataContext();
var ds = db.Category;
ListView1.DataSource = ds;
ListView1.DataBind();
db.Dispose();
}
}
- datapager分页问题 (点击两次)
- datapager分页问题(点击两次)
- datapager分页问题(点击两次)
- c# 中 datapager分页问题 (点击两次) 并且有错误提示
- Asp.net DataPager 分页点两次的问题
- 解决GridView控件分页点击两次问题
- 使用DataPager给ListView进行分页,解决点下一页要点两次才有反应的问题
- DataPager实现服务器端分页
- datagrid 与 dataPager 分页
- Silverlight分页控件 - DataPager
- ListView + DataPager 分页查询
- datapager控件分页
- 当一些按钮:比如button或者分页控件需要点击两次才起作用问题
- vs2008中分页控件DataPager
- ObjectDataSource+DataPager+GridView+Nhibernate分页
- android两次点击的焦点问题
- javascript 点击事件执行两次js问题
- 点击一个按钮弹出两次问题
- Windchill
- [转帖] 博士猫与本科鸡 (很值得一读)
- JAXP
- Concept-第12章翻译
- jQuery 选择器的使用
- datapager分页问题 (点击两次)
- 苹果和windows的字体渲染对比
- AIX下生成动态库的问题
- 2个开源的C/C++ IDE
- C++中几个比较不常用的关键字
- C#实现数据库的备份与还原
- 在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库
- 说说Intel的驱动
- 用SQLDMO组件备份SQL数据库