第一次写博客,今天学习了AspNetPage第三方的分页控件,老师讲的有点迷糊,不过还能听懂,项目是三层架构写的,
大神们就别鄙视我了。。我就是想分享下。。也为我所学知识总结下,学了一天了,好累好累。。世界晚安~
UI
DAL
BLL
1 1.首先在DBHelper创建一个方法,用于执行存储过程
2 public static DataTable ExecuteProc(string sql,params SqlParameter[] param)
3 {
4 try
5 {
6 SqlCommand com = new SqlCommand(sql,con);
7 com.CommandType = CommandType.StoredProcedure;
8 com.Parameters.AddRange(param);
9 SqlDataAdapter sda = new SqlDataAdapter(com);
10 DataSet ds = new DataSet();
11 sda.Fill(ds);
12 return ds.Tables[0];
13
14 }
15 catch (Exception es)
16 {
17
18 throw es;
19 }
20
21 }
22 2.在DStudentInfo创建一个方法用于传参
23 public DataTable GetPage(int pageSize, int currentPage)
24 {
25 try
26 {
27 SqlParameter p1 = new SqlParameter("@pageSize",pageSize);
28 SqlParameter p2 = new SqlParameter("@currentPage",currentPage);
29 return DBHelper.ExecuteProc("proc_page",p1,p2);
30 }
31 catch (Exception)
32 {
33
34 throw;
35 }
36 }
37 3.在BStudentInfo创建一个相同的方法
38
39 public DataTable GetPage(int pageSize, int currentPage)
40 {
41 return ds.GetPage(pageSize,currentPage);
42 }
43
44 4.在UI层创建一个方法获取数据总个数,每页显示的个数
45 private void SetPageCount()
46 {
47 AspNetPager1.RecordCount = new BStudentInfo().GetSutdentInfoCount();
48 AspNetPager1.PageSize = 5;
49 }
50 5.在UI层创建一个方法用于加载时间
51 private void DataLoad()
52 {
53 int pageSize = AspNetPager1.PageSize;
54 int currentPage = AspNetPager1.CurrentPageIndex;
55 Repeater1.DataSource = new BStudentInfo().GetPage(pageSize,currentPage);
56 Repeater1.DataBind();
57 }
58 6.在ASPNETPAGE事件写入加载事件
59 protected void AspNetPager1_PageChanged(object sender, EventArgs e)
60 {
61 DataLoad();
62 }
63
64 7.页面加载事件
65 protected void Page_Load(object sender, EventArgs e)
66 {
67 if (!IsPostBack)
68 {
69 SetPageCount();
70 DataLoad();
71
72 }
73 }
74
75