aspnet编写的网上购物商城.doc
一、实验目的实现一个网上商城。管理员将货物信息整理归类发布到网上,用户登录该后,首先要注册为会员才能购置图书。该系统的使用者主要分为2类:注册用户和管理员。注册用户除了可以浏览网上商城中的货物信息外,还可以进展网上购物;管理员可以对网上商城中的商品信息进展管理、对客户订单进展处理等。主要包括以下功能模块:前台:1用户注册登录;2货物查询;3货物订购;4订单查询;5用户信息修改;后台:1货物管理;2订单管理;3用户管理;二、实验数据库三、实验代码Default.asp*<%PageLanguage="C*"AutoEventWireup="true"CodeFile="Default.asp*.cs"Inherits="_Default"%><!DOCTYPEhtmlPUBLIC"-/W3C/DTD *HTML 1.0 Transitional/EN".w3.org/TR/*html1/DTD/*html1-transitional.dtd"><html*mlns=".w3.org/1999/*html"><headrunat="server"><title></title></head><body><bodystyle=" background-image:url(1.jpg)"background-position:center;background-repeat:no-repeat;background-attachment:fi*ed; ><formid="form1"runat="server"> <asp:ImageButtonID="login"runat="server"Height="22p*"ImageUrl="toum.jpg"Width="38p*"PostBackUrl="/login.asp*"/> <asp:ImageButtonID="logon"runat="server"Height="20p*"ImageUrl="toum.jpg"Width="51p*"PostBackUrl="/logon.asp*"/> <div></div><p> <asp:ImageButtonID="home"runat="server"Height="61p*"ImageUrl="toum.jpg"Width="323p*"/></p><p> </p></form></body></html>Login.asp*<%PageLanguage="C*"AutoEventWireup="true"CodeFile="login.asp*.cs"Inherits="login"Debug="true"%><!DOCTYPEhtmlPUBLIC"-/W3C/DTD *HTML 1.0 Transitional/EN".w3.org/TR/*html1/DTD/*html1-transitional.dtd"><html*mlns=".w3.org/1999/*html"><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div><tablestyle="width: 400p*; height:120p*; font-size: 9pt;"border="1"cellpadding="0"cellspacing="0"align="center"><tr><tdstyle="width: 78p*"> 会员:</td><tdstyle="width: 145p*"><asp:Te*tBo*ID="t*tMName"runat="server"></asp:Te*tBo*></td><tdstyle="width: 134p*"><asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"ErrorMessage="*"ControlToValidate="t*tMName"></asp:RequiredFieldValidator></td></tr><tr><tdstyle="width: 78p*"> 会员密码:</td><tdstyle="width: 145p*"><asp:Te*tBo*ID="t*tMPwd"runat="server"Te*tMode="Password"Width="149p*"></asp:Te*tBo*></td><tdstyle="width: 134p*"><asp:RequiredFieldValidatorID="RequiredFieldValidator2"runat="server"ErrorMessage="*"ControlToValidate="t*tMPwd"></asp:RequiredFieldValidator></td></tr><tr><tdstyle="width: 78p*"> 验 证 码:</td><tdstyle="width: 145p*"><asp:Te*tBo*ID="t*tMCode"runat="server"></asp:Te*tBo*></td><tdstyle="width: 134p*"><asp:LabelID="labCode"runat="server"Height="19p*"BackColor="*FFC0FF"></asp:Label></td></tr><tr><tdcolspan="3"style="te*t-align: center"><asp:ButtonID="btnLogin"runat="server"Te*t="登录"OnClick="btnLogin_Click"/> <asp:ButtonID="btnCancle"runat="server"Te*t="取消"OnClick="btnCancle_Click"/></td></tr></table></div></form></body></html>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient; publicpartialclasslogin : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) SqlConnection Conn; Conn = newSqlConnection("Data Source=pc-1230;Initial Catalog=user;Integrated Security=True");/Windows身份验证if (!IsPostBack) Random randobj = newRandom(); labCode.Te*t = randobj.Ne*t(1000, 10000).ToString();/返回一个指定围的随机数(int) protectedvoid btnLogin_Click(object sender, EventArgs e) SqlConnection sqlconn; sqlconn = newSqlConnection("Data Source=pc-1230;Initial Catalog=user;Integrated Security=True"); sqlconn.Open();string sql = "select * from member1 where id = id and pwd = pwd"Sqlmand m = newSqlmand(sql, sqlconn); m.Parameters.Add("id", t*tMName.Te*t); m.Parameters.Add("pwd", t*tMPwd.Te*t);SqlDataReader sdr = m.E*ecuteReader(); if (t*tMCode.Te*t.Trim() = labCode.Te*t.Trim() if (sdr.Read() Session"id" = t*tMName.Te*t;if (Session"id".ToString() != "admin") Response.Redirect("SuccReg.asp*");else Response.Redirect("admin.asp*"); else Response.Write("<script>alert('您输入的用户名或密码错误,请重新输入!');location='javascript:history.go(-1)'</script>"); else Response.Write("<script>alert('验证码输入有误,请重新输入!');location='javascript:history.go(-1)'</script>"); sqlconn.Close(); protectedvoid btnCancle_Click(object sender, EventArgs e) Response.Write("<script>window.close();location='javascript:history.go(-1)'</script>"); Logon.asp*<%PageLanguage="C*"AutoEventWireup="true"CodeFile="logon.asp*.cs"Inherits="logon"%><!DOCTYPEhtmlPUBLIC"-/W3C/DTD *HTML 1.0 Transitional/EN".w3.org/TR/*html1/DTD/*html1-transitional.dtd"><html*mlns=".w3.org/1999/*html"><headid="Head1"runat="server"><title></title></head><body><formid="form1"runat="server"><div>用户名 <asp:Te*tBo*id="Te*tBo*1"runat="Server"/><asp:RequiredFieldValidatorid="RequiredFieldValidator3"runat="Server"ControlToValidate="Te*tBo*1"SetFocusOnError="true"ErrorMessage="用户名不能为空"Display="Static"></asp:RequiredFieldValidator><asp:ButtonID="Button2"runat="server"onclick="Button2_Click"Te*t="用户名是否重复"/><br/>密码 <asp:Te*tBo*id="Te*tBo*2"runat="Server"ClientIDMode="Inherit"Te*tMode="Password"/><asp:RequiredFieldValidatorid="RequiredFieldValidator1"runat="Server"ControlToValidate="Te*tBo*2"SetFocusOnError="true"ErrorMessage="密码不能为空"Display="Static"></asp:RequiredFieldValidator><br/>确认密码 <asp:Te*tBo*id="Te*tBo*3"runat="Server"Te*tMode="Password"/><asp:RequiredFieldValidatorid="RequiredFieldValidator2"runat="Server"ControlToValidate="Te*tBo*3"SetFocusOnError="true"ErrorMessage="确认密码不能为空"Display="Static"></asp:RequiredFieldValidator><asp:pareValidatorID="pareValidator1"runat="server"ControlTopare="Te*tBo*2"ControlToValidate="Te*tBo*3"ErrorMessage="密码不一致"></asp:pareValidator><br/>生日 <asp:Te*tBo*ID="Te*tBo*4"runat="server"></asp:Te*tBo*><asp:RangeValidatorID="RangeValidator1"runat="server"ControlToValidate="Te*tBo*4"ErrorMessage="生日输入错误"Ma*imumValue="2021-1-1"MinimumValue="1900-1-1"Type="Date"></asp:RangeValidator><br/> <asp:Te*tBo*ID="Te*tBo*5"runat="server"></asp:Te*tBo*><asp:RequiredFieldValidatorid="RequiredFieldValidator5"runat="Server"ControlToValidate="Te*tBo*5"SetFocusOnError="true"ErrorMessage="不能为空"Display="Static"></asp:RequiredFieldValidator><asp:RegularE*pressionValidatorID="RegularE*pressionValidator1"runat="server"ControlToValidate="Te*tBo*5"ErrorMessage="请输入合法的"EnableClientScript="true"SetFocusOnError="true"ValidationE*pression="(d3)|d3-)"d8"></asp:RegularE*pressionValidator><br/> <asp:Te*tBo*ID="Te*tBo*6"runat="server"></asp:Te*tBo*><asp:RequiredFieldValidatorid="RequiredFieldValidator4"runat="Server"ControlToValidate="Te*tBo*6"SetFocusOnError="true"ErrorMessage="不能为空"Display="Static"></asp:RequiredFieldValidator><asp:RegularE*pressionValidatorID="RegularE*pressionValidator2"runat="server"ControlToValidate="Te*tBo*6"ErrorMessage="请输入合法的地址!"EnableClientScript="true"ValidationE*pression="w+(-+.'w+)*w+(-.w+)*.w+(-.w+)*"></asp:RegularE*pressionValidator><br/><asp:ButtonID="Button1"runat="server"Te*t="提交"onclick="Button1_Click"/><asp:ValidationSummaryid="ValidationSummary"DisplayMode="BulletList"HeaderTe*t="必须做以下输入或选择:"runat="server"/></div></form></body></html>using System;using System.Data;using System.Data.SqlClient;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;publicpartialclasslogon : System.Web.UI.Pageprotectedvoid Page_Load(object sender, EventArgs e) protectedvoid Button2_Click(object sender, EventArgs e) SqlConnection sqlconn; sqlconn = newSqlConnection("Data Source=pc-1230;Initial Catalog=user;Integrated Security=True");string sqlstr = "select * from member1 where id='" + this.Te*tBo*1.Te*t + "'" sqlconn.Open();Sqlmand sql = newSqlmand(sqlstr, sqlconn);SqlDataReader read = sql.E*ecuteReader(); read.Read();if (read.HasRows) if (this.Te*tBo*1.Te*t.Trim() = read"id".ToString().Trim() Response.Write("<script language='javascript'>alert('该会员已经注册过');localtion='Register.asp*'</script>");return; else Response.Write("<script language='javascript'>alert('您可以进展正常注册');localtion='Register.asp*'</script>"); read.Close(); sqlconn.Close(); protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection sqlconn; sqlconn = newSqlConnection("Data Source=pc-1230;Initial Catalog=user;Integrated Security=True"); sqlconn.Open();string sqlstr = "insert into member1 " + "(id,pwd,birth,phone,email)" + "values('" + Te*tBo*1.Te*t + "','" + Te*tBo*2.Te*t + "','" + Te*tBo*4.Te*t + "','" + Te*tBo*5.Te*t + "','" + Te*tBo*6.Te*t + "')"Sqlmand m = newSqlmand(sqlstr, sqlconn); m.E*ecuteNonQuery(); sqlconn.Close(); Session"id" = Te*tBo*1.Te*t.Trim(); Response.Redirect("SuccReg.asp*"); Car.asp*<%PageLanguage="C*"AutoEventWireup="true"CodeFile="car.asp*.cs"Inherits="car"%><!DOCTYPEhtmlPUBLIC"-/W3C/DTD *HTML 1.0 Transitional/EN".w3.org/TR/*html1/DTD/*html1-transitional.dtd"><html*mlns=".w3.org/1999/*html"><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div><asp:GridViewID="GridView1"runat="server"AllowPaging="True"AutoGenerateColumns="False"DataKeyNames="id,goodsid"DataSourceID="SqlDataSource2"><Columns><asp:mandFieldShowEditButton="True"/><asp:BoundFieldDataField="id"HeaderTe*t="id"ReadOnly="True"SortE*pression="id"Visible="False"/><asp:BoundFieldDataField="goodsid"HeaderTe*t="goodsid"ReadOnly="True"SortE*pression="goodsid"Visible="False"/><asp:BoundFieldDataField="goodsname"HeaderTe*t="商品名称"SortE*pression="goodsname"/><asp:BoundFieldDataField="num"HeaderTe*t="购置数量"SortE*pression="num"/></Columns></asp:GridView><asp:ButtonID="Button2"runat="server"Te*t="我还要买"PostBackUrl="/SuccReg.asp*"/><asp:ButtonID="Button1"runat="server"Te*t="结账"PostBackUrl="/buy.asp*"/><asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:userConnectionString %>"Deletemand="DELETE FROM car1 WHERE id = id AND goodsid = goodsid"Insertmand="INSERT INTO car1 (id, goodsid, goodsname, num) VALUES (id, goodsid, goodsname, num)"Selectmand="SELECT * FROM car1 WHERE (id = id)"Updatemand="UPDATE car1 SET goodsname = goodsname, num = num WHERE id = id AND goodsid = goodsid"><DeleteParameters><asp:ParameterName="id"Type="String"/><asp:ParameterName="goodsid"Type="Int32"/></DeleteParameters><InsertParameters><asp:ParameterName="id"Type="String"/><asp:ParameterName="goodsid"Type="Int32"/><asp:ParameterName="goodsname"Type="String"/><asp:ParameterName="num"Type="Int32"/></InsertParameters><SelectParameters><asp:SessionParameterName="id"SessionField="id"Type="String"/></SelectParameters><UpdateParameters><asp:ParameterName="goodsname"Type="String"/><asp:ParameterName="num"Type="Int32"/><asp:ParameterName="id"Type="String"/><asp:ParameterName="goodsid"Type="Int32"/></UpdateParameters></asp:SqlDataSource></div></form></body></html>Admin.asp*<%PageLanguage="C*"AutoEventWireup="true"CodeFile="admin.asp*.cs"Inherits="admin"%><!DOCTYPEhtmlPUBLIC"-/W3C/DTD *HTML 1.0 Transitional/EN".w3.org/TR/*html1/DTD/*html1-transitional.dtd"><html*mlns=".w3.org/1999/*html"><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div><asp:GridViewID="GridView1"runat="server"AllowPaging="True"AutoGenerateColumns="False"DataKeyNames="goodsid"DataSourceID="SqlDataSource1"><Columns><asp:mandFieldShowDeleteButton="True"ShowEditButton="True"/><asp:BoundFieldDataField="goodsname"HeaderTe*t="goodsname"SortE*pression="goodsname"/><asp:BoundFieldDataField="goodsid"HeaderTe*t="goodsid"ReadOnly="True"SortE*pression="goodsid"/><asp:BoundFieldDataField="goodsnum"HeaderTe*t="goodsnum"SortE*pression="goodsnum"/><asp:BoundFieldDataField="goodsphoto"HeaderTe*t="goodsphoto"SortE*pression="goodsphoto"/></Columns></asp:GridView><asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:userConnectionString %>"Deletemand="DELETE FROM goodsinfo WHERE goodsid = goodsid"Insertmand="INSERT INTO goodsinfo (goodsname, goodsid, goodsnum, goodsphoto) VALUES (goodsname, goodsid, goodsnum, goodsphoto)"Selectmand="SELECT * FROM goodsinfo"Updatemand="UPDATE goodsinfo SET goodsname = goodsname, goodsnum = goodsnum, goodsphoto = goodsphoto WHERE goodsid = goodsid"><DeleteParameters><asp:ParameterName="goodsid"Type="String"/></DeleteParameters><InsertParameters><asp:ParameterName="goodsname"Type="String"/><asp:ParameterName="goodsid"Type="String"/><asp:ParameterName="goodsnum"Type="Int32"/><asp:ParameterName="goodsphoto"Type="String"/></InsertParameters><UpdateParameters><asp:ParameterName="goodsname"Type="String"/><asp:ParameterName="goodsnum"Type="Int32"/><asp:ParameterName="goodsphoto"Type="String"/><asp:ParameterName="goodsid"Type="String"/></UpdateParameters></asp:SqlDataSource><asp:GridViewID="GridView2"runat="server"AllowPaging="True"AutoGenerateColumns="False"DataKeyNames="id,goodsid"DataSourceID="SqlDataSource2"><Columns><asp:mandFieldShowDeleteButton="True"ShowEditButton="True"/><asp:BoundFieldDataField="id"HeaderTe*t="id"ReadOnly="True"SortE*pression="id"/><asp:BoundFieldDataField="goodsid"HeaderTe*t="goodsid"ReadOnly="True"SortE*pression="goodsid"/><asp:BoundFieldDataField="goodsname"HeaderTe*t="goodsname"SortE*pression="goodsname"/><asp:BoundFieldDataField="num"HeaderTe*t="num"SortE*pression="num"/></Columns></asp:GridView><asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:userConnectionString %>"Deletemand="DELETE FROM car1 WHERE id = id AND goodsid = goodsid"Insertmand="INSERT INTO car1 (id, goodsid, goodsname, num) VALUES (id, goodsid, goodsname, num)"