DataPager分页问题(点击两次)

今天碰到个怪问题,一直搞到半夜2点多。以下是解决办法:

今天看了一下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();
    }
}

出现如开始提及的问题,找了半天原因也没有找到。后来在国外的一个论坛上找到了同病相怜的人,有专家给出了一个解决方案。把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();
    }
}

试了一下分页果然正常了。难道是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();
    }
}

网站统计

PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次。

Windows XP/Vista 数据与设置迁移至 Windows 7

按照以往的常规思路,面对这个问题无非就是三种选择:
 
1.将旧版 Windows 原位升级安装为新版,原位升级安装将保留旧版 Windows 的全部设置、已安装的软件无需重新安装;
 
2.全新安装新版 Windows、并与旧版的 Windows 组成多重系统共存,然后令全新安装的 Windows 共享旧版 Windows 的部分设置;
 
3.删除(格式化)旧版的 Windows、全新安装新版 Windows,所有的数据必须手动备份转移、所有的软件均需要重新安装。

 

如果我们非要将 Windows XP 升级安装为 Windows 7,只有将 Windows Vista 做为“中介”,执行两次升级式安装这一种“曲线救国”的方法,就好比先将 Windows 98 升级为 Windows 2000、然后再升级为 Windows XP 一样。