网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月04日漏签0天
asp.net吧 关注:45,740贴子:174,866
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 9回复贴,共1页
<<返回asp.net吧
>0< 加载中...

asp.net做购物车

  • 只看楼主
  • 收藏

  • 回复
  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
商品显示页面的cs页面中的代码如下:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
     {
         if (e.CommandName.Equals("detailSee"))
         {
             AddressBack(e);
         }
         else if (e.CommandName.Equals("buy"))
         {
             AddShopCart(e);
         }
     }
     public void AddressBack(DataListCommandEventArgs e)
     {
         Session["address"] = "";
         Session["address"] = "ProNew.aspx";
         Response.Redirect("~/Product/ProductDetail.aspx?ID="+Convert.ToInt32(e.CommandArgument.ToString()));
     }
     public void AddShopCart(DataListCommandEventArgs e)
     {
         Hashtable hashCar;
         if (Session["ShopCart"] == null)
         {
             hashCar = new Hashtable();
             hashCar.Add(e.CommandArgument, 1);
             Session["ShopCart"] = hashCar;
         }
         else
         {
             hashCar = (Hashtable)Session["ShopCart"];
             if (hashCar.Contains(e.CommandArgument))
             {
                 int count = Convert.ToInt32(hashCar[e.CommandArgument].ToString());
                 hashCar[e.CommandArgument] = (count + 1);
             }
             else
                 hashCar.Add(e.CommandArgument, 1);
         }
     }
     protected void Button2_Click(object sender, EventArgs e)



  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
     {
         Response.Redirect("~/User/shopCart.aspx");
     }
}
购物车显示页面代码如下:
<%@ Page Language="C#" MasterPageFile="~/default.master" AutoEventWireup="true" CodeFile="shopCart.aspx.cs" Inherits="User_shopCart" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
     <br />
     <asp:Label ID="labMessage" runat="server"   width="122px"></asp:Label><br />
     总价:<asp:Label ID="labTotalPrice" runat="server" Width="60px"></asp:Label><br />
     <asp:GridView ID="gvShopCart" runat="server" AllowPaging="True" PageSize="4"   Width="635px"   OnRowCommand="gvShopCart_RowCommand" AutoGenerateColumns="False">
         <Columns>
             <asp:BoundField HeaderText="序列号" DataField="No" ReadOnly="True" />
             <asp:BoundField HeaderText="商品名称" DataField="productName" ReadOnly="True" />
             <asp:BoundField HeaderText="单价(元)" DataField="productPrice" ReadOnly="True" />
             <asp:TemplateField HeaderText="数量(件)">
             <ItemTemplate>
                 &nbsp;<asp:TextBox ID="txtNumber" runat="server" Width="40px" Text='<%#Eval("Number") %>'   ></asp:TextBox>
             </ItemTemplate>
             </asp:TemplateField>
            <asp:BoundField HeaderText="商品总价(元)" DataField="totalPrice" ReadOnly="True" />
              <asp:TemplateField HeaderText="删除" >
               <ItemTemplate>
               <asp:LinkButton ID="lnkdel" runat="server" Text="删除" CommandName="del" CommandArgument='<%#Eval("ID") %>'></asp:LinkButton>
               </ItemTemplate>
             </asp:TemplateField>
         </Columns>



2026-02-04 22:54:27
广告
不感兴趣
开通SVIP免广告
  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
     </asp:GridView>
     <asp:LinkButton ID="lnkbtnUpdate" runat="server" OnClick="lnkbtnUpdate_Click" Font-Size="X-Large">更新购物车</asp:LinkButton>
     <asp:LinkButton ID="lnkbtnClear" runat="server" OnClick="lnkbtnClear_Click" Font-Size="X-Large">清空购物车</asp:LinkButton>
     <asp:LinkButton ID="lnkbtnContinue" runat="server" OnClick="lnkbtnContinue_Click" Font-Size="X-Large">继续购物</asp:LinkButton><br />
购物车后面的cs页面代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class User_shopCart : System.Web.UI.Page
{
     string strSql;
     DataTable dtTable;
     Hashtable hashCar;
     protected void Page_Load(object sender, EventArgs e)
     {
         if (!IsPostBack)
         {
             cj();
         }           
     }
     private void cj()
     {
         if (Session["ShopCart"] == null)
         {
             this.labMessage.Text = "您还没有购物!";
             this.labMessage.Visible = true;
             this.lnkbtnClear.Visible = false;
             this.lnkbtnContinue.Visible = false;
         }
         else
         {
             hashCar = (Hashtable)Session["ShopCart"];
             if (hashCar.Count == 0)
             {
                 this.labMessage.Text = "您购物车中的没有商品!";
                 this.labMessage.Visible = true;
                 this.lnkbtnClear.Visible = false;



  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
                 this.lnkbtnContinue.Visible = false;
             }
             else
             {
                 dtTable = new DataTable();
                 DataColumn column1 = new DataColumn("No");
                 DataColumn column2 = new DataColumn("ID");
                 DataColumn column3 = new DataColumn("productName");
                 DataColumn column4 = new DataColumn("productPrice");
                 DataColumn column5 = new DataColumn("Number");
                 DataColumn column6 = new DataColumn("totalPrice");
                 dtTable.Columns.Add(column1);
                 dtTable.Columns.Add(column2);
                 dtTable.Columns.Add(column3);
                 dtTable.Columns.Add(column4);
                 dtTable.Columns.Add(column5);
                 dtTable.Columns.Add(column6);
                 DataRow row;
                 foreach (object key in hashCar.Keys)
                 {
                     row = dtTable.NewRow();
                     row["ID"] = key.ToString();
                     row["Number"] = hashCar[key].ToString();
                     dtTable.Rows.Add(row);



  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
                 }
                 DataTable dstable;
                 int i = 1;
                 float price;
                 int count;
                 float totalPrice = 0;
                 foreach (DataRow drRow in dtTable.Rows)
                 {
                     strSql = "select productName,productPrice from product where ID=" + Convert.ToInt32(drRow["ID"].ToString());
                     dstable = DbManager.ExecuteQuery(strSql);
                     drRow["No"] = i;
                     drRow["productName"] = dstable.Rows[0].ItemArray[0].ToString();
                     drRow["productPrice"] = (dstable.Rows[0].ItemArray[1].ToString());
                     price = float.Parse(dstable.Rows[0].ItemArray[1].ToString());
                     count = Int32.Parse(drRow["Number"].ToString());
                     drRow["totalPrice"] = price * count;
                     totalPrice += price * count;
                     i++;
                 }
                 this.labTotalPrice.Text = totalPrice.ToString();
                 this.gvShopCart.DataSource = dtTable.DefaultView;
                 this.gvShopCart.DataKeyNames = new string[] { "ID" };



  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
                 this.gvShopCart.DataBind();
             }
         }
     }
protected void lnkbtnUpdate_Click(object sender, EventArgs e)
     {
         hashCar = (Hashtable)Session["ShopCart"];
         foreach (GridViewRow gvr in this.gvShopCart.Rows)
         {
             TextBox otb = (TextBox)gvr.FindControl("txtNumber");
             int count = Int32.Parse(otb.Text);
             string ID = gvr.Cells[1].Text;
             hashCar[ID] = count;
         }
         Session["ShopCart"] = hashCar;
         Response.Write("<script>alert('更新成功!')</script>");
     }
     protected void lnkbtnClear_Click(object sender, EventArgs e)
     {
         Session["ShopCart"] = null;
         Response.Redirect("ShoppCart.aspx");
     }
     protected void lnkbtnContinue_Click(object sender, EventArgs e)
     {
         Response.Redirect("~/Product/ProNew.aspx");
     }
     protected void gvShopCart_RowCommand(object sender, GridViewCommandEventArgs e)
     {
         if (e.CommandName.Equals("del"))
         {
             hashCar = (Hashtable)Session["ShopCart"];
             hashCar.Remove(e.CommandArgument);
             Session["ShopCart"] = hashCar;
             Response.Redirect("ShopCart.aspx");
         }
     }
   
}
下图是购物车页面中显示的:修改商品的数量后,我击一下“更新购物车”跟在后面的商品总价和最上面的总价都怎么不改变,求高手帮忙,应该怎样做




  • 蓝天白云
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
更新购物车的LinkButton的ID为lnkbtnUpdate


  • gwx74110
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
看的蛋疼


2026-02-04 22:48:27
广告
不感兴趣
开通SVIP免广告
  • 啊547940527
  • 初级粉丝
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你好 有问题能请教下你吗 QQ547940527 谢谢


  • jerry522
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
foreach (GridViewRow gvr in this.gvShopCart.Rows)
{
TextBox otb = (TextBox)gvr.FindControl("txtNumber");
int count = Int32.Parse(otb.Text);
string ID = gvr.Cells[1].Text;
hashCar[ID] = count;
}
Session["ShopCart"] = hashCar;
感觉这段逻辑有些问题,不太清楚你hashCar中的结构,但感觉直接把数量赋值给hashCar中的商品名称有点不太对劲I


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回asp.net吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示