MyBookShop书籍分页显示功能
功能需求:
1. 进入书籍详细列表页面(BookList.aspx),以列表的方式显示书籍信息,因为书籍过多,
所以采取分页方式显示,可以通过点击“上一页”和“下一页”显示书籍信息
图1 图书分页效果
2. 书籍显示外观设计:在书籍列表内容页中拖放一个DataList控件,然后使用设计器编辑
DataList的项模板
选择“编辑模板”选项,进入到“项模板”编辑窗口
在项模板中拖放一个三行两列的Table标记,行合并第一列,放置图书的图片
行合并第二行第一列,行合并第三行第二列
模板列中Table用来显示书籍的相关信息,如下图所示:
3. DataList绑定表达式的写法
Books表结构如同所示:
绑定字段:
图书标题绑定“title”字段
图书备注绑定“contentDescription”字段 图书价格绑定“unitprice”字段
问题:图书照片的路径如何绑定到图片控件上? 图片的资源文件存放在在站点的路径如图所示:
请注意这些图书图片的命名就是Books表ISBN列中存放的图书ISBN编码+“.jpg”组成,那么显示图书图片控件的Imageurl属性可以这样设计 runat=\"server\" ImageUrl=’<%# “~/Images/BookConvers/”+Eval(“ISBN”).ToString()+”.jpg”%>’ Height=\"101px\" Width=\"91px\" />4. 后台绑定实现
由于书籍信息过多采用自定义分页显示书籍信息,每页显示4本书的信息,效果图1所示: 设计思路:
因为Books表有1077行,一页无法显示,采取分页显示每页显示4条数据。当点击“下一页”时,定义一个全局变量记录当前页码加一,并从数据库总提取下一个4条数据,同理,点击“上一页”时,页码值减一,从数据库总提取上一个4条信息。注意,在做翻页的时候要判断是否到第一页或者最后一页,避免页码超出范围。
设计分页存储过程如下:
在DAL层BookServices类中创建方法调用该分页存储过程,在BLL层中封状分页方法,在BookList.aspx中实现分页 5. 扩展功能
1) 进入站点首页(Default.aspx),选择相应的书籍分类,例如选择ASP.NET
导航到BookList.aspx页面,在URL地址后跟图书类型编号
typeid为选种的书籍类型编号,导航到书籍详细信息页面,根据typeid查询出符合条件的数据绑定到DataList控件上,采取自定义分页每页显示4本书。 提示:需要扩展以上分页存储过程,添加条件参数@typeid
2) 书籍排序显示
如上图所示:提供两种排序方式:按出版日期和书籍价格排序。点击“出版日期”按钮,则按“出版日期”重新排序。
3) 首页模糊查询
显示符合条件的书籍信息,如图所示: