首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

使用这种方法的datalist分页控件有有关问题

2012-01-06 
使用这种方法的datalist分页控件有问题使用这种方法的datalist分页控件有问题,在点击下一页或者上一页时,

使用这种方法的datalist分页控件有问题
使用这种方法的datalist分页控件有问题,在点击下一页或者上一页时,上次DataList绑定的记录仍然显示在DataList中没有清空,而且如果在程序中使用代码清空时会提示前台代码中有 <%   %> 不能修改
大家是如何解决这个问题的?

private       void       Page_Load(object       sender,       System.EventArgs       e)      
    {      
    //       在此处放置用户代码以初始化页面      
                        PageSize       =       10;      
                        sql= "select       *       from       products       order       by       all_time       desc       ";      
                        if(!Page.IsPostBack)      
                        {      
                        //计算总共有多少记录              
                            RecordCount       =       CalculateRecord();          
                        //计算总共有多少页      
                    //取整              
                            PageCount       =       RecordCount/PageSize;              
                            if       (RecordCount%PageSize       >       0)              
                            PageCount       =       PageCount       +       1;              
                            lblPageCount.Text       =       PageCount.ToString();              
                            lblRecordCount.Text       =       RecordCount.ToString();              
                            ViewState[ "PageCount "]       =       PageCount;              
                            CurrentPage       =       0;              
                            ViewState[ "PageIndex "]       =       0;              


                            //绑定              
                            ListBind();      
       
                            }      
    }      
    public       int       CalculateRecord()              
    {              
    int       intCount;              
    string       strCount       =       "select       count(*)       as       co       from       products ";          
    SqlConnection       Con=new       SqlConnection(data.constr);      
    SqlCommand       addCommand=new       SqlCommand(strCount,Con);      
    addCommand.Connection.Open();      
    SqlDataReader       dr;      
    dr=addCommand.ExecuteReader();      
    if(dr.Read())              
    {              
                intCount       =       Int32.Parse(dr[ "co "].ToString());              
    }              
    else              
    {              
                intCount       =       0;              
    }              
                dr.Close();              
                return       intCount;              
    }              
       
    ICollection       CreateSource()              
    {              
       
    int       StartIndex;              
    //设定导入的起终地址              
    StartIndex       =       CurrentPage*PageSize;              
    string       strSel       =       "select       *       from       products ";          
    SqlConnection       Con=new       SqlConnection(data.constr);      


    DataSet       ds       =       new       DataSet();              
    SqlDataAdapter       MyAdapter       =       new       SqlDataAdapter(strSel,Con);              
    MyAdapter.Fill(ds,StartIndex,PageSize, "products ");              
    return       ds.Tables[ "products "].DefaultView;              
    }              
    public       void       ListBind()              
    {              
    dl1.DataSource       =       CreateSource();              
    dl1.DataBind();              
    lbnNextPage.Enabled       =       true;              
    lbnPrevPage.Enabled       =       true;              
    if(PageCount==0)              
    {              
    lblCurrentPage.Text       =       "0 ";              
    lbnNextPage.Enabled       =       false;              
    lbnPrevPage.Enabled       =       false;              
    }              
    else              
    {              
    if(CurrentPage==(PageCount-1))       lbnNextPage.Enabled       =       false;              
    if(CurrentPage==0)       lbnPrevPage.Enabled       =       false;              
    lblCurrentPage.Text       =       (CurrentPage+1).ToString();              
    }              
    }              
    public       void       Page_OnClick(Object       sender,CommandEventArgs       e)              
    {              
    CurrentPage       =       (int)ViewState[ "PageIndex "];              
    PageCount       =       (int)ViewState[ "PageCount "];              
    string       cmd       =       e.CommandName;              
    //判断cmd,以判定翻页方向              


    switch(cmd)              
    {              
    case       "next ":              
    if(CurrentPage <(PageCount-1))       CurrentPage++;              
    break;              
    case       "prev ":              
    if(CurrentPage> 0)       CurrentPage--;              
    break;      
    case       "first ":      
    CurrentPage=0;      
    break;      
    case       "last ":      
                                                                            CurrentPage=PageCount-1;      
    break;      
    }              
       
    ViewState[ "PageIndex "]       =       CurrentPage;              
       
    ListBind();              
       
    }              
    HTML       部分:      
    <TABLE       id= "Table2 "       style= "Z-INDEX:       102;       LEFT:       128px;       WIDTH:       648px;       POSITION:       absolute;       TOP:       432px;       HEIGHT:       27px "cellSpacing= "1 "       cellPadding= "1 "       width= "648 "       border= "1 ">      
    <TR>      
    <TD> <FONT       face= "宋体 "> 共 <asp:label       id= "lblRecordCount "       runat= "server "> Label </asp:label> 条记录&nbsp;       共 <asp:label       id= "lblPageCount "       runat= "server "> Label </asp:label> 页       当前第 <asp:label       id= "lblCurrentPage "       runat= "server "> Label </asp:label> 页&nbsp; <asp:LinkButton       id= "lbnFirstPage "       runat= "server "       OnCommand= "Page_OnClick "       CommandName= "first "> 首页 </asp:LinkButton> &nbsp; <asp:linkbuttonid= "lbnPrevPage "runat= "server "OnCommand= "Page_OnClick "       CommandName= "prev "> 上一页 </asp:linkbutton> &nbsp;&nbsp; <asp:linkbutton       id= "lbnNextPage "       runat= "server "       OnCommand= "Page_OnClick "       CommandName= "next "> 下一页 </asp:linkbutton> &nbsp;      


    <asp:LinkButton       id= "lbnLastPage "       runat= "server "       OnCommand= "Page_OnClick "       CommandName= "last "> 尾页 </asp:LinkButton> </FONT> </TD> </TR> </TABLE>      


[解决办法]
是加载方式的问题

热点排行