ProductList.aspx.cs
上传用户:xiecaij
上传日期:2015-02-08
资源大小:2016k
文件大小:2k
源码类别:

百货/超市行业

开发平台:

ASP/ASPX

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.HtmlControls;
  11. namespace eshop
  12. {
  13. /// <summary>
  14. /// ProductList 的摘要说明。
  15. /// </summary>
  16. public class ProductList : System.Web.UI.Page
  17. {
  18. protected System.Web.UI.WebControls.Label PageCount;
  19. protected System.Web.UI.WebControls.DropDownList page;
  20. protected System.Web.UI.HtmlControls.HtmlForm form1;
  21. protected System.Web.UI.WebControls.Repeater products;
  22. //页的大小
  23. private static int PageSize = 5;
  24. private void Page_Load(object sender, System.EventArgs e)
  25. {
  26. if (!Page.IsPostBack)
  27. {
  28. //显示第一页的记录
  29. ShowResult(0, PageSize);
  30. }
  31. }
  32. void ShowResult(int pageIndex, int pageSize)
  33. {
  34. //绑定Repeater控件
  35. products.DataSource = BLL.Product.GetProductsByCategory(int.Parse(Request.QueryString["categoryId"]),
  36. pageSize, pageIndex);
  37. products.DataBind();
  38. //调用Product类中的方法获得该类商品的总数
  39. int resultCount = BLL.Product.GetProductCountByCategory(int.Parse(Request.QueryString["categoryId"]));
  40. int count;
  41. //如果查询结果总数是页大小的整数倍
  42. if (resultCount%PageSize == 0)
  43. {
  44. count = resultCount/PageSize;
  45. PageCount.Text = count.ToString();
  46. }
  47. else
  48. {
  49. count = resultCount/PageSize+1;
  50. PageCount.Text = count.ToString();
  51. }
  52. page.Items.Clear();
  53. //绑定页码到DropDownList控件
  54. for(int i=0; i<count; i++)
  55. {
  56. ListItem item = new ListItem((i+1).ToString(), i.ToString());
  57. page.Items.Add(item);
  58. }
  59. page.SelectedIndex = pageIndex;
  60. }
  61. #region Web 窗体设计器生成的代码
  62. override protected void OnInit(EventArgs e)
  63. {
  64. //
  65. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  66. //
  67. InitializeComponent();
  68. base.OnInit(e);
  69. }
  70. /// <summary>
  71. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  72. /// 此方法的内容。
  73. /// </summary>
  74. private void InitializeComponent()
  75. {    
  76. this.page.SelectedIndexChanged += new System.EventHandler(this.page_SelectedIndexChanged);
  77. this.Load += new System.EventHandler(this.Page_Load);
  78. }
  79. #endregion
  80. private void page_SelectedIndexChanged(object sender, System.EventArgs e)
  81. {
  82. ShowResult(page.SelectedIndex, PageSize);
  83. }
  84. }
  85. }