Net Core教程

基于ASP.NET的家居建材选购系统

本文主要是介绍基于ASP.NET的家居建材选购系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

网站运行录像 在这里   链接:https://pan.baidu.com/s/12NZ9BM8G3TcAl3uWqO01iw 
提取码:z6u4

复制这段内容后打开百度网盘手机App,操作更方便哦

可以下载观看。

1 数据库设计

  • 管理员表(f_admin
  • 订单明细表(f_order_detail
  • 订单表(f_orders
  • 留言表(f_say
  • 家居建材信息表(f_shopping
  • 会员表(f_users

序号

列名

数据类型

长度

小数位

标识

主键

允许空

说明

1

f_ad_id

int

4

0

ID

2

f_ad_name

varchar

50

0

管理员名称

3

f_ad_pass

varchar

50

0

密码

4

f_ad_role

varchar

50

0

角色

序号

列名

数据类型

长度

小数位

标识

主键

允许空

说明

1

f_od_id

int

4

0

ID

2

f_or_id

int

4

0

订单编号

3

f_sp_id

int

4

0

家居编号

4

f_od_count

int

4

0

金额

序号

列名

数据类型

长度

小数位

标识

主键

允许空

说明

1

f_or_id

int

4

0

编号

2

f_or_name

varchar

100

0

名称

3

f_or_time

varchar

100

0

下单时间

4

f_or_money

float

8

0

金额

5

f_or_man

varchar

50

0

收货人

6

f_or_adress

varchar

500

0

收货地址

7

f_or_zhuangtai

int

4

0

状态

8

f_us_id

int

4

0

用户编号

9

f_sp_id

int

4

0

家居编号

序号

列名

数据类型

长度

小数位

标识

主键

允许空

说明

1

f_sa_id

int

4

0

序号

2

f_sa_name

varchar

100

0

发言人

3

f_sa_title

varchar

100

0

标题

4

f_sa_text

text

16

0

内容

5

f_sa_time

varchar

100

0

时间

6

f_st_id

int

4

0

留言类型

序号

列名

数据类型

长度

小数位

标识

主键

允许空

说明

1

f_sp_id

int

4

0

编号

2

f_sp_name

varchar

100

0

名称

3

f_sp_time

varchar

100

0

存库时间

4

f_sp_img

varchar

100

0

图片

5

f_sp_yprice

float

8

0

家居价格

6

f_sp_xprice

float

8

0

市面价格

7

f_sp_renqi

bigint

8

0

人气

8

f_sp_display

int

4

0

推荐

9

f_sst_id

int

4

0

类型id

序号

列名

数据类型

长度

小数位

标识

主键

允许空

说明

1

f_us_id

int

4

0

用户编号

2

f_us_name

varchar

50

0

账户

3

f_us_realname

varchar

50

0

真是姓名

4

f_us_pass

varchar

50

0

密码

5

f_us_sex

varchar

20

0

性别

6

f_us_age

int

4

0

年龄

7

f_us_adress

varchar

200

0

地址

8

f_us_QQ

int

4

0

Qq

9

f_us_phone

varchar

50

0

电话

10

f_us_email

varchar

100

0

电子邮件

11

f_us_jf

bigint

8

0

是否在线

12

f_us_toux

varchar

200

0

安全问题

输入输出设计

(1)修改密码

a.数据输入:新密码和新密码确认。

b.数据输出:修改成功或修改失败。

(2)会员维护

a.数据输入:会员的相关信息。

b.数据输出:维护成功或失败。

(3)留言列表管理

a.数据输入:会员的留言信息

b.数据输出:增加,修改,删除和查询成功或失败。

(4)皮草分类维护

a.数据输入:皮草的相关信息。

b.数据输出:维护成功或失败。

(5)商品信息维护

a.数据输入:商品信息。

b.数据输出:维护成功或失败。

(6)商品批量打折

a.数据输入:输入需要打折的商品和折扣

b.数据输出:打折成功或失败。

(7)订单审核

a.数据输入:会员订单的相关信息。

b.数据输出:审核成功或失败。

2  会员模块

(1)我的购物车

a.数据输入:购物车订单信息。

b.数据输出:查看成功或失败。

(2)密码修改

a.数据输入:原密码和新密码。

b.数据输出:修改成功或失败。

(3)订单管理

a.数据输入:需要查询的订单信息。

b.数据输出:查询成功或失败。

(4)我要留言

a.数据输入:需要查看的留言信息。

b.数据输出:查询成功或失败。

3.1系统主界面介绍

在IE里运行本系统,出现系统的主界面,包括登陆、家居类别、家居信息显示列表三大模块。如图:

 

首页

核心代码如下:
protected void Page_Load(object sender, EventArgs e)

    {

        if(!IsPostBack)

        {

            shoptypebid();

          

            shopbid1();

            shopbid2();

          

          

            rexiaobid();

        }

        if(Session["names"]!=null)

        {

            string un = Session["names"].ToString();

            if (un != "")

            {

               

                Label5.Text = BLL.F_usersBLL.selectrnamebyname(un) + ",回来";

                this.Label3.Visible = false;

                this.Label4.Visible = false;

            }

        }

        if(Session["shop"]==null)

        {

            List<ShoppingcartDM> lm = new List<ShoppingcartDM>();

        }

       else if(Session["shop"]!=null)

        {

            ShoppingcartDM sm = new ShoppingcartDM();

            List<ShoppingcartDM> lm;

            lm = (List<ShoppingcartDM>)Session["shop"];

            int j = 0;

            float jq = 0;

            for (int i = 0; i < lm.Count;i++ )

            {

                j += lm[i].Count;

                jq += lm[i].Xprice * lm[i].Count;

            }

            Label1.Text = j.ToString();

            Label2.Text = jq.ToString();

        }

    }

    private void rexiaobid()

    {

        DataTable dt = BLL.F_shoppingBLL.selectallbytuijian(3+"");

        Repeater8.DataSource = dt;

        Repeater8.DataBind();

    }

    private void shopbid1()

    {

        DataTable dt = BLL.F_shoppingBLL.selectallbytuijian(1+"");

        Repeater3.DataSource = dt;

        Repeater3.DataBind();

    }

    private void shopbid2()

    {

        DataTable dt = BLL.F_shoppingBLL.selectallbytuijian(2+"");

        Repeater4.DataSource = dt;

        Repeater4.DataBind();

    }

    private void shoptypebid()

    {

       DataTable dt= BLL.F_shopbigtypeBLL.queryshopbigtype();

       Repeater2.DataSource = dt;

       Repeater2.DataBind();

   

    }

   

   

    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)

    {

    }

    protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)

    {

        Repeater re1 = (Repeater)e.Item.FindControl("Repeater1");

        string id= ((System.Data.DataRowView)e.Item.DataItem)["f_sbt_id"].ToString();

        DataTable dt = BLL.F_shopsmalltypeBLL.selectf_shopsmalltypebytype(id);

        re1.DataSource = dt;

        re1.DataBind();

      

    }

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

    {

        string likes = TextBox1.Text;

        Response.Redirect("shoppinglikes.aspx?name="+likes);

    }              
 

3.2 家居建材信息维护

此模块主要是对家居建材信息的维护。展示信息列表,可以添加 修改和删除家居建材信息。如图:

  

 

家居信息列表界面

 

编辑页面

核心代码如下:

private void fenybid(int y)

    {

        int pr = 20;//定义每页行数

        int pc;//pc总页数

        DataTable dt = SqlDBUtil.SqlDBUtil.executeGetshoppingfy(pr,y,out pc);

        bidHref(pc);

        if (y < 1) { y = 1; }

        else if (y > pc) { y = pc; }

        Label1.Text = y.ToString();

        Label2.Text = pc.ToString();

        GridView1.DataSource = dt;

        GridView1.DataBind();

    }

    private void bidHref(int pc)

    {

        Label3.Text = "";

        for (int i = 1; i <= pc; i++)

        {

            Label3.Text += "<a href='showshop_h.aspx?y=" + i + "'>" + i + "</a>&nbsp;";

        }

    }

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

    {

        int y = int.Parse(Label1.Text);

        y--;

        fenybid(y);

    }

    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

    {

        int y = int.Parse(Label1.Text);

        y++;

        fenybid(y);

    }

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

    {

    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

    {

        int i = e.NewEditIndex;//获得编辑列的索引

        GridView1.EditIndex = i;//让选中的行处于编辑状态

      

       string s= GridView1.Rows[i].Cells[0].Text;

       i = Convert.ToInt32(s);

       i = (i + 21) / 20;

        fenybid(i);

    }

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        int i = e.RowIndex;

        GridView1.EditIndex = -1;//取消编辑状态

        string s = GridView1.Rows[i].Cells[0].Text;

        i = Convert.ToInt32(s);

        i = (i + 21) / 20;

        fenybid(i);

    }

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        int i = e.RowIndex;

        string id = GridView1.Rows[i].Cells[0].Text;

        string sql = "delete from f_shopping where f_sp_id="+id;

        SqlDBUtil.SqlDBUtil.NonQuery(sql);       

        fenybid(1);

    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        int i = e.RowIndex;

        string id = GridView1.Rows[i].Cells[0].Text;

        string name = ((TextBox)GridView1.Rows[i].Cells[1].Controls[0]).Text;

        string time = ((TextBox)GridView1.Rows[i].Cells[2].Controls[0]).Text;

        string yprice = ((TextBox)GridView1.Rows[i].Cells[4].Controls[0]).Text;

        string xprice = ((TextBox)GridView1.Rows[i].Cells[5].Controls[0]).Text;

        string renqi = ((TextBox)GridView1.Rows[i].Cells[6].Controls[0]).Text;

        string tuijian = ((TextBox)GridView1.Rows[i].Cells[7].Controls[0]).Text;

        string fid = ((TextBox)GridView1.Rows[i].Cells[8].Controls[0]).Text;

        string sql = "update f_shopping set f_sp_name='"+name+"',f_sp_time='"+time+"',f_sp_yprice='"+yprice+"',f_sp_xprice='"+xprice+"',f_sp_renqi='"+renqi+"',f_sp_display='"+tuijian+"',f_sst_id='"+fid+"' where f_sp_id="+id;

        SqlDBUtil.SqlDBUtil.NonQuery(sql); 

    }

3.3 订单中心

此模块可以查看定购家居建材户信息,及该用户定购家居建材的详细信息,可以删除不符合要求订单信息。如图:

 

订单信息管理

核心代码如下:
protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            //shopbid();

            if (Request.QueryString["y"] == null)

            {

                fenybid(1);

            }

            else

            {

                string yy = Request.QueryString["y"];

                int y = int.Parse(yy);

                fenybid(y);

            }

        }

    }

         private void fenybid(int y)

    {

        int pr = 20;//定义每页行数

        int pc;//pc总页数

        DataTable dt = SqlDBUtil.SqlDBUtil.executeGetf_ordersfy(pr,y,out pc);

        bidHref(pc);

        if (y < 1) { y = 1; }

        else if (y > pc) { y = pc; }

        Label1.Text = y.ToString();

        Label2.Text = pc.ToString();

        GridView1.DataSource = dt;

        GridView1.DataBind();

    }

    private void bidHref(int pc)

    {

        Label3.Text = "";

        for (int i = 1; i <= pc; i++)

        {

            Label3.Text += "<a href='order_h.aspx?y=" + i + "'>" + i + "</a>&nbsp;";

        }

    }

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

    {

        int y = int.Parse(Label1.Text);

        y--;

        fenybid(y);

    }

    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

    {

        int y = int.Parse(Label1.Text);

        y++;

        fenybid(y);

    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

    {

        int i = e.NewEditIndex;//获得编辑列的索引

        GridView1.EditIndex = i;//让选中的行处于编辑状态

        string s = GridView1.Rows[i].Cells[0].Text;

        i = Convert.ToInt32(s);

        i = (i + 21) / 20;

        fenybid(i);

    }

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        int i = e.RowIndex;

        GridView1.EditIndex = -1;//取消编辑状态

        string s = GridView1.Rows[i].Cells[0].Text;

        i = Convert.ToInt32(s);

        i = (i + 21) / 20;

        fenybid(i);

    }

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        int i = e.RowIndex;

        string id = GridView1.Rows[i].Cells[0].Text;

        string sql = "delete from f_orders where f_or_id=" + id;

        SqlDBUtil.SqlDBUtil.NonQuery(sql);

        fenybid(1);

    }

}  

3.4 用户注册页面

此模块主要是提供新用户信息注册。用户注册信息时,判断帐号,真实姓名是否为空,输入的密码和确认密码是否一致。然后输入密码、确认密码、联系电话、家庭地址、出生日期等,注册和返回操作。如图:

 

 用户注册

核心代码如下:

protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

    {

        string un = TextBox1.Text;

       string uu= BLL.F_usersBLL.countbyname(un);

       if (uu.Equals("you"))

       {

           Label2.Text = "<script type='text/javascript'>alert('该帐户已经存在!');location.herf='register.aspx';</script>";

       }

       else

       {

           string run = TextBox2.Text;

           if (run.Equals(""))

           {

               Label2.Text ="<script type='text/javascript'>alert('真实姓名不能为空!');</script>";

               TextBox2.Focus();

           }

           else

           {

               string up = id3e8_9.Text;

               if (up.Equals(""))

               {

                   Label2.Text ="<script type='text/javascript'>alert('密码不能为空!');</script>";

                   id3e8_9.Focus();

               }

               else

               {

                   string sex = "男";

                   if (RadioButton2.Checked)

                   {

                       sex = "女";

                   }

                   string age = TextBox5.Text;

                   if(age.Equals(""))

                   {

                       Label2.Text ="<script type='text/javascript'>alert('年龄不能为空!');</script>";

                       TextBox5.Focus(); 

                   }

                   else

                   {

                       string adress = TextBox6.Text;

                       if (adress.Equals(""))

                       {

                           Label2.Text ="<script type='text/javascript'>alert('地址不能为空!');</script>";

                           TextBox6.Focus();

                       }

                       else

                       {

                           string QQ = TextBox7.Text;

                           if (QQ.Equals(""))

                           {

                               Label2.Text ="<script type='text/javascript'>alert('QQ不能为空!');</script>";

                               TextBox7.Focus();

                           }

                           else

                           {

                               string phone = TextBox8.Text;

                               if (phone.Equals(""))

                               {

                                   Label2.Text ="<script type='text/javascript'>alert('电话号码不能为空!');</script>";

                                   TextBox8.Focus();

                               }

                               else

                               {

                                   string email = TextBox9.Text;

                                   if (email.Equals(""))

                                   {

                                       Label2.Text ="<script type='text/javascript'>alert('Email不能为空!');</script>";

                                       TextBox9.Focus();

                                   }

                                   else

                                   {

                                       string img = "";

                                       string renqi = 0 + "";//5|1|a|s|p|x

                                       string jb = 1 + "";

                                       string s = BLL.F_usersBLL.addusers(un, run, up, sex, age, adress, QQ, phone, email, renqi, img, jb);

                                       if (s.Equals("tologin"))

                                       {

                                           Response.Write("<script type='text/javascript'>alert('注册成功!');location.href='login.aspx';</script>");

                                       }

                                       else

                                       {

                                           Response.Redirect("error.aspx");

                                       }

                                   }

                               }

                           }

                       }

                   }

               }

           }

       }

    }

    protected void LinkButton1_Click(object sender, EventArgs e)

    {

       

        string un = TextBox1.Text;

        string uu = BLL.F_usersBLL.countbyname(un);

        if (uu.Equals("you"))

        {

            Label1.Text = "该用户已经存在!";

        }

        else

        {

            Label1.Text = "恭喜您可以注册!";

        }

    };

3.5 购物车

此模块显示已经选择完但未生成订单的信息列表,显示此次购物的总数量和总金额。可以对其生成定单,删除操作。如图:

 

 购物车

核心代码如下:

public string aa=" ";

    private void bid()

    {

        List<ShoppingcartDM> lm=(List<ShoppingcartDM>)Session["shop"];

        Repeater1.DataSource = lm;

        Repeater1.DataBind();

        float allprice=0;

        float allyprice=0;

        for (int i = 0; i < lm.Count;i++ )

        {

            allprice += lm[i].Xprice * lm[i].Count;

            allyprice +=lm[i].Yprice*lm[i].Count;

            aa = (lm[i].Xprice * lm[i].Count).ToString();

        }

        Label5.Text = allprice.ToString();

        Label6.Text = allyprice.ToString();

        float cj = allyprice - allprice;

        Label7.Text = cj.ToString();

    }

    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)

    {

        int id = e.Item.ItemIndex;

        //得到所选行下标

       

        string names = e.CommandName;

        if (names.Equals("del"))

        {

            List<ShoppingcartDM> ls = (List<ShoppingcartDM>)Session["shop"];

            ls.RemoveAt(id);

            Session["shop"] = ls;

            bid();

        }

    

    }

    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

    {

        Response.Redirect("index.aspx");

    }

    protected void ImageButton3_Click(object sender, ImageClickEventArgs e)

    {

          Panel1.Visible = true;

          string names = Session["names"].ToString();

          Label2.Text = names;

        // DataTable dt= BLL.F_ordersBLL.selectallbyman(names);

        // Label1.Text = dt.Rows[0][0].ToString();

        // Label3.Text = dt.Rows[0][10].ToString();

        // Label4.Text = names+"的订单";

        // Label8.Text = System.DateTime.Now.ToString();

        // Label9.Text = Label5.Text;

        //int ss=Convert.ToInt32 (dt.Rows[0][6]);

        //string zt="审批中...";

        //if(ss==1)

        //{

        //    zt="发货中...";

        //}

        //Label10.Text = zt;

        //TextBox1.Text = dt.Rows[0][4].ToString();

        //TextBox2.Text = dt.Rows[0][5].ToString();

        //TextBox3.Text = dt.Rows[0][8].ToString();

        //TextBox4.Text = dt.Rows[0][9].ToString();

          string idd = BLL.F_usersBLL.selectidbyname(names);

          F_usersDM fm = BLL.F_usersBLL.getoneuser(idd);

          TextBox1.Text = fm.F_us_realname;

          TextBox2.Text = fm.F_us_adress;

          TextBox3.Text = fm.F_us_phone;

          TextBox4.Text = fm.F_us_email;

    }

    protected void Button3_Click(object sender, EventArgs e)

    {

         List<ShoppingcartDM> lm=(List<ShoppingcartDM>)Session["shop"];

       

        string zh=Label2.Text;

        string oname = Label2.Text+"的订单";

        string times=System.DateTime.Now.ToString();

        string lman = TextBox1.Text;

        string adress = TextBox2.Text;

        for (int i = 0; i < lm.Count;i++ )

        {

            string price = lm[i].F_sp_xiaoji.ToString();

            string uid = BLL.F_usersBLL.selectidbyname(zh);

            string sid = lm[i].Sid.ToString();

           BLL.F_ordersBLL.addorders(oname, times, price, lman, adress, 0 + "", uid, sid);

        }

        Session["shop"] = null;

        Response.Write("<script type='text/javascript'>alert('您的申请我们已经收到,我们会尽快和您取得联系!');location.href='index.aspx';</script>");

    

    }

    

3.6 用户订单

此模块是用户将购物车里面的家居生成订单给管理员,如图:

 

用户订单

核心代码如下:

protected void Page_Load(object sender, EventArgs e)

    {

        if(!IsPostBack)

        {

            rp1bid();

        }

    }

    private void rp1bid()

    {

        DataTable dt = BLL.F_ordersBLL.queryorders();

        Repeater1.DataSource = dt;

        Repeater1.DataBind();

        Repeater2.DataSource = dt;

        Repeater2.DataBind();

    }     

有了以上的表,就不难做出这个网站了。如果有其他用途...比如用它交作业的话,基本上是没问题的。如果要做毕业设计的话,在

完善完善应该也差不多啦。

如果想要下载完整源代码可以联系我 qq:2804035105

                                                           wx:15289469942。

这篇关于基于ASP.NET的家居建材选购系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!