⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 browsergoods.aspx.cs

📁 Asp.net购物车示例源码[VS2005] 可以实现购物车基本功能:在线购物、在线结算、在线充值、在线支付(未完成) 有用户注册功能 默认用户密码51aspx 数据库文件在App
💻 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;
using System.Data.SqlClient;

public partial class BrowserGoods : System.Web.UI.Page
{
    SqlConnection myConn = DBClass.GetConnection();
    protected void Page_Load(object sender, EventArgs e)
    {
        

        if (!IsPostBack)
        {
            //接受传送数据
            Label7.Text = Request.QueryString["id"];
            DLBind();
        }
    }
    public void DLBind()
    {
        //绑定商品展示台信息
        myConn.Open();
        string sqlStr = "select * from tb_GoodsInfo";
        SqlDataAdapter da = new SqlDataAdapter(sqlStr, myConn);
        DataSet ds = new DataSet();
        da.Fill(ds, "GoodsInfo");
        DataList1.DataSource = ds.Tables["GoodsInfo"].DefaultView;
        DataList1.DataBind();
        da.Dispose();
        ds.Dispose();
        myConn.Close();
    }
    //当购买商品时,获取商品信息
    public SaveSubGoodsClass GetSubGoodsInformation(DataListCommandEventArgs e)
    {
        //获取购物车中的信息
        SaveSubGoodsClass Goods = new SaveSubGoodsClass();
        Goods.GoodsID = int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString());
        Goods.OrderDate = DateTime.Now;
        //获取商品价格
        Label PriceLable = (Label)e.Item.FindControl("Label8");
        if (PriceLable == null)
        {
            //显示错误信息
            Response.Write("<script>alert('没有可用的数据')<script>");
            return null;
        }
        Goods.GoodsPrice = decimal.Parse(PriceLable.Text.Trim());
        string GoodsStyle = e.CommandArgument.ToString();
        int index = GoodsStyle.IndexOf("|");
        if (index < -1 || index + 1 >= GoodsStyle.Length)
            return Goods;
        Goods.GoodsName = GoodsStyle.Substring(0, index);
        Goods.GoodsIntroduce = GoodsStyle.Substring(index + 1);
        return (Goods);

    }
    //向购物车中添加商品信息
    public void AddOrderInfo(int GoodsID, int GoodsNum, DateTime OrderDate, string UserIP)
    {
        SqlCommand cmd = new SqlCommand("InsertOrderInfo", myConn);
        cmd.CommandType = CommandType.StoredProcedure;
        //添加参数
        SqlParameter goodsID = new SqlParameter("@GoodsID", SqlDbType.Int, 4);
        goodsID.Value = GoodsID;
        cmd.Parameters.Add(goodsID);
        SqlParameter goodsNum = new SqlParameter("@GoodsNum", SqlDbType.Int, 4);
        goodsNum.Value = GoodsNum;
        cmd.Parameters.Add(goodsNum);
        SqlParameter orderDate = new SqlParameter("@OrderDate", SqlDbType.DateTime, 8);
        orderDate.Value = OrderDate;
        cmd.Parameters.Add(orderDate);
        SqlParameter userIP = new SqlParameter("@UserIP", SqlDbType.VarChar, 50);
        userIP.Value = UserIP;
        cmd.Parameters.Add(userIP);

        //执行存储过程
        myConn.Open();
        try
        {
            cmd.ExecuteNonQuery();

        }
        catch (Exception)
        {
            Response.Write("操作失败");
           
        }

        cmd.Dispose();
        myConn.Close();


    }
    //判断是否已经添加了该商品,如果已添加该商品,则修改该商品的数量;否则添加新的商品
    public void InsertOrUpdateInfo(int ReturnValue, int GoodsID,  DateTime OrderDate, string UserIP)
    {

        SqlCommand cmd = new SqlCommand("InsertOrUpdateOrderInfo", myConn);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlParameter returnValue = new SqlParameter("@ReturnValue", SqlDbType.Int, 4);
        returnValue.Value = ReturnValue;
        cmd.Parameters.Add(returnValue);
        SqlParameter goodsID = new SqlParameter("@GoodsID", SqlDbType.Int, 4);
        goodsID.Value = GoodsID;
        cmd.Parameters.Add(goodsID);
        SqlParameter orderDate = new SqlParameter("@OrderDate", SqlDbType.DateTime, 8);
        orderDate.Value = OrderDate;
        cmd.Parameters.Add(orderDate);
        SqlParameter userIP = new SqlParameter("@UserIP", SqlDbType.VarChar, 50);
        userIP.Value = UserIP;
        cmd.Parameters.Add(userIP);
        //执行存储过程
        myConn.Open();
        try
        {

            cmd.ExecuteNonQuery();

        }
        catch (Exception)
        {
            Response.Write("操作失败");

        }
        cmd.Dispose();
        myConn.Close();
    }
    public int ExistsInfo(int GoodsID, string UserIP)
    {
        SqlCommand cmd = new SqlCommand("ExistsInfo", myConn);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlParameter goodsID = new SqlParameter("@GoodsID", SqlDbType.Int, 4);
        goodsID.Value = GoodsID;
        cmd.Parameters.Add(goodsID);
        SqlParameter userIP = new SqlParameter("@UserIP", SqlDbType.VarChar, 50);
        userIP.Value = UserIP;
        cmd.Parameters.Add(userIP);
        cmd.Parameters.Add("returnValue", SqlDbType.Int);
        cmd.Parameters["returnValue"].Direction = ParameterDirection.ReturnValue;
       

        //执行存储过程
        myConn.Open();
        try
        {
            cmd.ExecuteNonQuery();
          
        }
        catch (Exception)
        {
            Response.Write("操作失败");
          
        }
      
        cmd.Dispose();
        myConn.Close();
        return int.Parse(cmd.Parameters["returnValue"].Value.ToString());

    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {

        if (e.CommandName.ToLower() == "add")
        {
            //添加到购物车中,购物车中的商品数据保存在表OrderInfo中
            SaveSubGoodsClass Goods = null;
            Goods = GetSubGoodsInformation(e);
            string UserIP = Convert.ToString(Request.UserHostAddress);
            int ExistsNum = ExistsInfo(Goods.GoodsID, UserIP);
            if (ExistsNum == -100)
            {
                //当购物车没有任何信息时

                if (Goods == null)
                {
                    //显示错误信息
                    Response.Write("<script>alert('没有可用的数据')<script>");
                    return;

                }
                //添加商品信息到表OrderInfo中

                AddOrderInfo(Goods.GoodsID, 1, DateTime.Now, UserIP);
                Response.Write ("<script>alert('恭喜您,添加成功!')</script>");
            }
            else
            {
                //当购物车中已经存在商品时,获取以前的商品信息

                if (Goods == null)
                {
                    //显示错误信息
                    Response.Write("<script>alert('没有可用的数据')<script>");
                    return;
                }
                //判断是否已经添加了该商品,如果已添加该商品,则修改该商品的数量;否则添加新的商品
                if (ExistsNum == 200)
                {
                    InsertOrUpdateInfo(200, Goods.GoodsID,  Goods.OrderDate, UserIP);
                }
                else
                {
                    if (ExistsNum == -200)
                    {
                        AddOrderInfo(Goods.GoodsID, 1, DateTime.Now, UserIP);

                    }
                }
                Response.Write ("<script>alert('恭喜您,添加成功!')</script>");
            }
 
        }
        if (e.CommandName.ToLower() == "see")
            {
                //向目标页面传递数据
                string sUrl = "CommitGoods.aspx?id=" + Label7.Text;
                Response.Redirect(sUrl);
            
            }
    }
    protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -