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

关于分页控件绑定怎么绑定查询条件

2013-09-13 
关于分页控件绑定如何绑定查询条件现在我用的是AspNetPager控件,但是每次查询后,点击下一页数据总是未绑定

关于分页控件绑定如何绑定查询条件
现在我用的是AspNetPager控件,但是每次查询后,点击下一页数据总是未绑定,显示的是查询前的数据,谁能教我下应该怎么绑定哦,例如以下这个例子哦
前台
申请部门
<asp:DropDownList ID="ddlDepartmentID" runat="server" Width="150px"></asp:DropDownList>
<asp:DataList ID="UserList" Width="1000px" runat="server" 
            UseAccessibleHeader="false" onitemcommand="UserList_ItemCommand" 
            border="0" cellspacing="1" cellpadding="0" HorizontalAlign="Center" CssClass="Anwerbeformular"  >
            <HeaderTemplate>
        <td style="width:100px;  height:25px;" align="center" >申请部门</td>
        <td style="width:100px; " align="center">岗位名称</td>
        <td style="width:100px; " align="center">招聘人数</td>
        <td style="width:100px; " align="center">建议薪资</td>
        <td style="width:100px; " align="center">招聘原因</td>
        <td style="width:100px; " align="center">发布时间</td>
        <td style="width:130px; " align="center">申请人</td>
        <td style="width:130px; " align="center">人力资源部</td>
        <td style="width:130px; " align="center">浏览操作</td>
            </HeaderTemplate>
            <ItemTemplate>
            <td align="center">
                <%# Eval("DepartmentName")%></td><td align="center">
                <%# Eval("PositionName")%></td><td align="center">
                <%# Eval("RecuitingNum")%></td><td align="center">
                <%# Eval("SuggestSalary") %></td><td align="center">
                <%# (Eval("RecuitingReasonType").ToString()) == "0" ?"离职补充" : (Eval("RecuitingReasonType").ToString()) == "1" ?"调岗补充" : (Eval("RecuitingReasonType").ToString()) == "2" ?"新增岗位" :"短期需要" %></td><td align="center">


                <%#Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "CreateTime")).ToShortDateString()%>
                </td><td align="center"> 
                <asp:LinkButton ID="lkbtnModifInCharge" CommandName="ModifInCharge" CommandArgument='<%# Eval("ID") %>' Enabled="false"  runat="server">修改</asp:LinkButton></td><td align="center"> 
                
                <asp:LinkButton ID="lkbtnModifHR" CommandName="ModifHR" CommandArgument='<%# Eval("ID") %>' Enabled="false" runat="server">人事部门审核</asp:LinkButton></td><td align="center"> 
                <asp:LinkButton ID="lkbtnModifCEO" CommandName="ModifCEO" CommandArgument='<%# Eval("ID") %>' Enabled="false"  runat="server">浏览</asp:LinkButton>
                </td>
            </ItemTemplate>
        </asp:DataList>
       
<div style=" width:1000px; height: 30px;" align="center">
        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" NumericButtonCount="6" UrlPaging="true" NumericButtonTextFormatString="[{0}]" CustomInfoHTML="第 <font color='red'><b>%CurrentPageIndex%</b></font> 页 共 %PageCount% 页 显示 %StartRecordIndex%-%EndRecordIndex% 条" ShowCustomInfoSection="left"  
FirstPageText="首页" LastPageText="末页" NextPageText="下页" PrevPageText="上页" Font-Names="Arial"  AlwaysShow="true" ShowInputBox="Always" SubmitButtonText="跳转" SubmitButtonStyle="botton" OnPageChanged="AspNetPager1_PageChanged" >
              </webdiyer:AspNetPager>
</div>

后台

 //部门按钮
        protected void btnDepartmentID_Click(object sender, EventArgs e)
        {
            Zhaozh.FrameWork.Business.AnwerbeformularTableBll btnDepartmentID = new Zhaozh.FrameWork.Business.AnwerbeformularTableBll();


            UserList.DataSource = btnDepartmentID.getbtnDepartmentID(Convert.ToInt32(this.ddlDepartmentID.SelectedValue));
            UserList.DataBind(); 
        }


protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            BindUserList();
            
        }

        //UserList数据绑定
        public void BindUserList()
        {

            PagedDataSource ps = new PagedDataSource();
            ps.DataSource = Anwerbeformularbll.GetAnwerbeformular();

            
            this.AspNetPager1.RecordCount = Int32.Parse(ps.Count.ToString());
            int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
            int pageSize = this.AspNetPager1.PageSize = 15;
            ps.AllowPaging = true;
            ps.PageSize = pageSize;
            ps.CurrentPageIndex = pageIndex;

            UserList.DataSource = ps;

            UserList.DataBind();
            Judge();
        }

bll层

public static List<AnwerbeformularTable> GetAnwerbeformular()
       {
           return SqlDataProvider.GetAnwerbeformular();
       }

dal层

public static List<AnwerbeformularTable> GetAnwerbeformular()
        {
            List<AnwerbeformularTable> list = new List<AnwerbeformularTable>();


            string sql = "select ID,DepartmentID,PositionID,GradeLevel,SuggestSalary,RecuitingNum,RecuitingReasonType,Reason,Residence,Sex,Education,Age,PositionStatement,Skill,Other,SuperiorPotion,SubordinatePosition,WorkingPlace,HopeArrivalDate,CEO,CEOApproveDT,ISApproveByCEO,InCharge,InChargeApproveDT,IsApproveByInCharge,HR,HRApproveDT,ApprovalOpinions,IsApproveByHR,Remark,UserID,LastModifiedTime,CreateTime,IsDel ,T.G_CName as DepartmentNa,T.GroupID,T1.GroupID,T1.G_CName as Position from sys_Anwerbeformular as B INNER JOIN sys_Group AS T ON B.DepartmentID=T.GroupID  INNER JOIN sys_Group AS T1 ON B.PositionID = T1.GroupID order by B.ID";
            using (SqlDataReader dr = DBhelper.ExecuteDataReader(System.Data.CommandType.Text, sql, null))
            {
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        list.Add(LoadAnwerbeformular(dr));
                    }
                }
            }
            return list;
        }


 public static AnwerbeformularTable LoadAnwerbeformular(SqlDataReader dr)
        {
            AnwerbeformularTable user = new AnwerbeformularTable();
            user.ID = DBhelper.ExecToInt32(dr, "ID");
            user.DepartmentID = DBhelper.ExecToInt32(dr, "DepartmentID");
            user.PositionID = DBhelper.ExecToInt32(dr, "PositionID");


            user.GradeLevel = DBhelper.ExecToString(dr, "GradeLevel");
            //user.PostCode = DBhelper.ExecToString(dr, "PostCode");
            user.SuggestSalary = DBhelper.ExecToString(dr, "SuggestSalary");
            user.RecuitingNum = DBhelper.ExecToInt32(dr, "RecuitingNum");
            user.RecuitingReasonType = DBhelper.ExecToInt32(dr, "RecuitingReasonType");
            user.Reason = DBhelper.ExecToString(dr, "Reason");
            user.Residence = DBhelper.ExecToInt32(dr, "Residence");
            user.Sex = DBhelper.ExecToInt32(dr, "Sex");
            user.Education = DBhelper.ExecToInt32(dr, "Education");
            user.Age = DBhelper.ExecToString(dr, "Age");
            user.PositionStatement = DBhelper.ExecToString(dr, "PositionStatement");
            user.Skill = DBhelper.ExecToString(dr, "Skill");
            user.Other = DBhelper.ExecToString(dr, "Other");
            user.SuperiorPotion = DBhelper.ExecToString(dr, "SuperiorPotion");
            user.SubordinatePosition = DBhelper.ExecToString(dr, "SubordinatePosition");
            user.WorkingPlace = DBhelper.ExecToString(dr, "WorkingPlace");
            user.HopeArrivalDate = DBhelper.ExecToDateTime(dr, "HopeArrivalDate");
            //user.CEO = DBhelper.ExecToInt32(dr, "CEO");
            //user.CEOApproveDT = DBhelper.ExecToDateTime(dr, "CEOApproveDT");
            //user.ISApproveByCEO = DBhelper.ExecToInt32(dr, "ISApproveByCEO");
            user.InCharge = DBhelper.ExecToInt32(dr, "InCharge");


            user.InChargeApproveDT = DBhelper.ExecToDateTime(dr, "InChargeApproveDT");
            user.IsApproveByInCharge = DBhelper.ExecToInt32(dr, "IsApproveByInCharge");
            user.HR = DBhelper.ExecToInt32(dr, "HR");
            user.HRApproveDT = DBhelper.ExecToDateTime(dr, "HRApproveDT");
            user.ApprovalOpinions = DBhelper.ExecToString(dr, "ApprovalOpinions");
            user.IsApproveByHR = DBhelper.ExecToInt32(dr, "IsApproveByHR");
            user.Remark = DBhelper.ExecToString(dr, "Remark");
            user.UserID = DBhelper.ExecToInt32(dr, "UserID");
            user.LastModifiedTime = DBhelper.ExecToDateTime(dr, "LastModifiedTime");
            user.CreateTime = DBhelper.ExecToDateTime(dr, "CreateTime");
            user.IsDel = DBhelper.ExecToInt32(dr, "IsDel");
            // user.gr
            user.GroupID = DBhelper.ExecToInt32(dr, "GroupID");
            user.DepartmentName = DBhelper.ExecToString(dr, "DepartmentNa");
            user.PositionName = DBhelper.ExecToString(dr, "Position");
            return user;

        }

希望大家能教我下,如果修改我的代码能达到分页时把查询条件绑定的方法,我好参考下,去修改其他的哦
[解决办法]
好乱的代码...、

protected void btnDepartmentID_Click(object sender, EventArgs e) 


        {
              BindUserList();
        }
        public void BindUserList()
        {

            PagedDataSource ps = new PagedDataSource();
            List<AnwerbeformularTable> list=Anwerbeformularbll.GetAnwerbeformular();
           if(this.ddlDepartmentID.SelectedValue!=""){
                 list=btnDepartmentID.getbtnDepartmentID(Convert.ToInt32(this.ddlDepartmentID.SelectedValue));
            }
            ps.DataSource = Anwerbeformularbll.GetAnwerbeformular();

            
            this.AspNetPager1.RecordCount = Int32.Parse(ps.Count.ToString());
            int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
            int pageSize = this.AspNetPager1.PageSize = 15;
            ps.AllowPaging = true;
            ps.PageSize = pageSize;
            ps.CurrentPageIndex = pageIndex;

            UserList.DataSource = ps;

            UserList.DataBind();
            Judge();
        }


[解决办法]
上面错了 重来

protected void btnDepartmentID_Click(object sender, EventArgs e)
        {
             <span style="color: #FF0000;"> BindUserList();</span>
        }
        public void BindUserList()


        {
 
            PagedDataSource ps = new PagedDataSource();
            List<AnwerbeformularTable> list=Anwerbeformularbll.GetAnwerbeformular();
           if(this.ddlDepartmentID.SelectedValue!=""){
                 list=btnDepartmentID.getbtnDepartmentID(Convert.ToInt32(this.ddlDepartmentID.SelectedValue));
            }
            ps.DataSource = list; 
             
            this.AspNetPager1.RecordCount = Int32.Parse(ps.Count.ToString());
            int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
            int pageSize = this.AspNetPager1.PageSize = 15;
            ps.AllowPaging = true;
            ps.PageSize = pageSize;
            ps.CurrentPageIndex = pageIndex;
 
            UserList.DataSource = ps;
 
            UserList.DataBind();
            Judge();
        }


[解决办法]
看得一头雾水关于分页控件绑定怎么绑定查询条件
[解决办法]
你的查询条件根本没有放在BindUserList方法中,分页后当然会绑定全部数据,正确的做法请参照3楼ruiruixu的代码。

热点排行