温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:我的小书坊源码(三层实现)
当前文件:
MyBookShop/BookList.aspx.cs,打开代码结构图
MyBookShop/BookList.aspx.cs,打开代码结构图1using 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
12
using MyBookShop.BusinessLogicLayer; 13
14
namespace MyBookShop.Web 15
{ 16
/// <summary> 17
/// BookList 的摘要说明。 18
/// </summary> 19
public partial class BookList : System.Web.UI.Page 20
{ 21
22
/// <summary> 23
/// 页面加载事件 24
/// </summary> 25
/// <param name="sender"></param> 26
/// <param name="e"></param> 27
protected void Page_Load(object sender, System.EventArgs e) 28
{ 29
if (!Page.IsPostBack) 30
{ 31
InitData(); 32
Query(); 33
} 34
} 35
36
/// <summary> 37
/// 初始化页面数据 38
/// </summary> 39
private void InitData() 40
{ 41
//初始化:类别下拉框中的数据,用Category表中的数据进行绑定 42
DataTable dt = Category.Query(new Hashtable()); 43
DropDownListCategory.Items.Clear(); 44
DropDownListCategory.Items.Add(new ListItem("全部", "")); 45
foreach (DataRow dr in dt.Rows) 46
{ 47
DropDownListCategory.Items.Add(new ListItem(dr["CategoryName"].ToString(), dr["CategoryId"].ToString())); 48
} 49
} 50
51
/// <summary> 52
/// 根据页面上用户输入的查询条件,查询图书数据 53
/// </summary> 54
private void Query() 55
{ 56
//初始化:GridView的数据源 57
Hashtable queryItems = new Hashtable(); 58
queryItems.Add("BookName", TextBoxBookName.Text); 59
queryItems.Add("CategoryId", DropDownListCategory.SelectedValue); 60
DataTable dt = Book.QueryBooks(queryItems, DropDownListSortColumn.SelectedValue, DropDownListSortType.SelectedValue); 61
62
GV.DataSource = dt; 63
GV.DataBind(); 64
65
//保存下拉框的选择项到ViewState数组对象 66
ViewState.Add("DropDownListCategory", DropDownListCategory.SelectedValue); 67
ViewState.Add("DropDownListSortColumn", DropDownListSortColumn.SelectedValue); 68
ViewState.Add("DropDownListSortType", DropDownListSortType.SelectedValue); 69
70
LabelPageInfo.Text = "查询结果(第" + (GV.PageIndex + 1).ToString() + "页 共" + GV.PageCount.ToString() + "页)"; 71
} 72
73
/// <summary> 74
/// “查询”按钮单击事件 75
/// </summary> 76
/// <param name="sender"></param> 77
/// <param name="e"></param> 78
protected void ButtonQuery_Click(object sender, System.EventArgs e) 79
{ 80
Query(); //查询图书数据 81
ResetQueryValue(); //恢复下拉框选择项 82
} 83
84
/// <summary> 85
/// 保持页面上所有下拉框的选项 86
/// </summary> 87
private void ResetQueryValue() 88
{ 89
//类别 90
foreach (ListItem Item in DropDownListCategory.Items) 91
{ 92
if (Item.Value == ViewState["DropDownListCategory"].ToString()) 93
Item.Selected = true; 94
else 95
Item.Selected = false; 96
} 97
//排序列 98
foreach (ListItem Item in DropDownListSortColumn.Items) 99
{ 100
if (Item.Value == ViewState["DropDownListSortColumn"].ToString()) 101
Item.Selected = true; 102
else 103
Item.Selected = false; 104
} 105
//排序方式 106
foreach (ListItem Item in DropDownListSortType.Items) 107
{ 108
if (Item.Value == ViewState["DropDownListSortType"].ToString()) 109
Item.Selected = true; 110
else 111
Item.Selected = false; 112
} 113
} 114
115
/// <summary> 116
/// 得到用户的选择 117
/// </summary> 118
/// <returns>用户选择图书的编号集合</returns> 119
private ArrayList GetSelected() 120
{ 121
ArrayList selectedItems = new ArrayList(); 122
foreach (GridViewRow row in GV.Rows) 123
{ 124
if (((CheckBox)row.FindControl("chkSelected")).Checked) 125
{ 126
selectedItems.Add(Convert.ToInt32(row.Cells[1].Text)); 127
} 128
} 129
return selectedItems; 130
} 131
132
/// <summary> 133
/// "放入购物车"按钮单击事件 134
/// </summary> 135
/// <param name="sender"></param> 136
/// <param name="e"></param> 137
protected void ButtonAdd2Cart_Click(object sender, System.EventArgs e) 138
{ 139
if (Session["user_id"] == null) 140
Page.Response.Redirect("Login.aspx?in=1"); 141
142
Cart cart = new Cart(); 143
Hashtable ht = new Hashtable(); 144
ArrayList selectedBooks = this.GetSelected(); 145
146
//如果用户没有选择,就单击该按钮,则给出警告 147
if (selectedBooks.Count == 0) 148
{ 149
Response.Write("<Script Language=JavaScript>alert('请选择图书!');</Script>"); 150
return; 151
} 152
153
//循环将选择的图书加入到购物篮中 154
foreach (int bookId in selectedBooks) 155
{ 156
ht.Clear(); 157
ht.Add("UserId", Session["user_id"].ToString()); 158
ht.Add("BookId", bookId); 159
ht.Add("Amount", TextBoxAmount.Text.Trim()); 160
cart.Add(ht); 161
} 162
Response.Redirect("CartView.aspx"); 163
} 164
165
/// <summary> 166
/// “删除”按钮单击事件 167
/// </summary> 168
/// <param name="sender"></param> 169
/// <param name="e"></param> 170
protected void ButtonDelete_Click(object sender, EventArgs e) 171
{ 172
ArrayList selectedBooks = this.GetSelected(); 173
Book book = new Book(); 174
175
//如果用户没有选择,就单击该按钮,则给出警告 176
if (selectedBooks.Count == 0) 177
{ 178
Response.Write("<Script Language=JavaScript>alert('请首先选择图书!');</Script>"); 179
return; 180
} 181
182
//循环将选择的图书删除 183
foreach (int bookId in selectedBooks) 184
{ 185
book.LoadData(bookId); 186
book.Delete(); 187
} 188
Query(); 189
} 190
191
/// <summary> 192
/// 翻页事件 193
/// </summary> 194
/// <param name="sender"></param> 195
/// <param name="e"></param> 196
protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e) 197
{ 198
GV.PageIndex = e.NewPageIndex; 199
InitData(); 200
Query(); 201
} 202
} 203
}





}