《图书购物商城》第四天
任务:
1. 完成“上一页”“下一页”分页效果(使用服务端控件和非服务端控件)
2. 将书的全部类别添加到模板页的树上
3. 完成数字效果分页
4 完成“按出版时间”“按价格排序”
实现过程:
1. 实现“上一页”“下一页”分页效果
A.要实现该功能 必须先获得总页数
B.根据每页显示的数据数 和 总数算出一共的页数 并使用服务端控件Label显示出来
C.定义一个绑定Repeater的方法void BindRepeaterList(int page)
D.将当前的页码值传进去 然后手动定义个隐藏域 将当前的页码值赋值隐藏域
<%--这里的这个隐藏域的存放当前的页数--%>
<input type="hidden" name="hiddenCurrentPage" value="<%=CurrPage %>" />
E.最后 再实现“上一页”“下一页”我们将隐藏域中的值取出来 ++或者— 之后 再调用 voidBindRepeaterList(intpage) 填充Repeater
F.使用非服务端控件和服务端控件的底层代码一样 不一样的是在html中 写两个submit按钮 然后在后台类的Page_Load中获取隐藏域中的当前页数最后调用
void BindRepeaterList(int page)方法
2. 将书的全部类别添加到模板页的树上
使用递归算法将数据库中的数据 添加到树上
在添加到树上的时候 由于TreeView是一个服务端控件 所以要将他的ViewState禁用掉 否则ViewState中的值会不断累加
3 完成数字效果分页
这个功能和“上一页”“下一页”原理基本上差不多不同的是要根据页数动态的添加<a>标签 然后为每一个<a>标签添加onclick事件
4 .完成“按出版时间”“按价格排序”
这个的实现原理是在DAL层动态的拼写一条sql语句 动态的拼接条件是order by…..
当用户点击了不同的排序方式以后 拼接不同的sql语句 再根据拼接好的sql语句 从数据表中查询数据 返回到UI层 显示出来