您的位置:首页 > 编程语言 > ASP

asp.net实现一个简易购物车功能。

2020-07-16 05:20 1021 查看

要求:

  1. 使用Session记录放入购物车的商品;
  2. 分别有两个页面:一是购物页面;二是购物车页面;
  3. 购物页面包含商品列表(CheckBoxList)和两个按钮;
  4. 购物车页面包含想购买的商品列表和两个按钮;
  5. 在购物车页面,当按下“放入购物车”按钮,用Session记录商品名称,商品名称之间使用“逗号”隔开;
  6. 在购物车页面,根据Session取出商品,利用逗号分割出所有商品,放入购买列表中;
    结果:

    关键代码:
    Default.aspx:
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem>三文鱼</asp:ListItem>
<asp:ListItem>濑尿虾</asp:ListItem>
<asp:ListItem>小龙虾</asp:ListItem>
<asp:ListItem>小裙子</asp:ListItem>
<asp:ListItem>T恤</asp:ListItem>
<asp:ListItem>小零食</asp:ListItem>
</asp:CheckBoxList>
<asp:Button ID="submit" runat="server" Text="放入购物车" onClick="submit_Clicked"/>
<asp:Button ID="visit" runat="server" Text="查看购物车" OnClick="visit_Clicked"/>
<br />
</div>
</form>

Default.aspx.cs

protected void visit_Clicked(object sender, EventArgs e){
Response.Redirect("Default2.aspx");
}
protected void submit_Clicked(object sender, EventArgs e){
for (int i = 0; i < CheckBoxList1.Items.Count; i++){
if(CheckBoxList1.Items[i].Selected == true){//将选中的项添加到session
Session["goods"]+=CheckBoxList1.Items[i].Value+",";
}
}
}

Default2.aspx

<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
</asp:CheckBoxList>
<asp:Button ID="empty" runat="server" Text="清空购物车" onClick="empty_Clicked"/>
<asp:Button ID="return" runat="server" Text="继续购物" OnClick="return_Clicked"/>
</div>
</form>

Default2.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
Session.Timeout=1;//session过期时间1分钟
string[] sArray=Session["goods"].ToString().Split(',');//用逗号分隔开的字符串变成数组
//去掉重复值
ArrayList al = new ArrayList();
for (int i=0;i<sArray.Length;i++){
if (al.Contains(sArray[i]) ==false){//判断要拆分的字符串中是否已经存在于这个ArrayList中
al.Add(sArray[i]);//不存在则添加进ArrayList
}
}
//将ArrayList转换为string[]
string[] al2=new string[al.Count];
for(int i=0;i<al.Count;i++){
al2[i]=al[i].ToString();
}
//将数组中的元素添加到CheckBoxList
for(int i=0;i<al2.Length;i++){
if(al2[i]!=""){
CheckBoxList1.Items.Add(al2[i]);
}
}
}
protected void return_Clicked(object sender, EventArgs e){
Response.Redirect("Default.aspx");
}
protected void empty_Clicked(object sender, EventArgs e){
Session["goods"]="";//清空session
//将CheckBoxList中的项去掉
int iCount = CheckBoxList1.Items.Count;
for(int i=0;i<iCount;i++){
CheckBoxList1.Items.Remove(CheckBoxList1.Items[0]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐