MyPetShop实验报告书.docx
- 文档编号:10668743
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:26
- 大小:248.63KB
MyPetShop实验报告书.docx
《MyPetShop实验报告书.docx》由会员分享,可在线阅读,更多相关《MyPetShop实验报告书.docx(26页珍藏版)》请在冰点文库上搜索。
MyPetShop实验报告书
《Web程序设计》
MyPetShop程序实验报告书
班级:
计算机科学与技术A1201
学生姓名:
学生学号:
学生组别:
第七组
*****************
2014年06月23日
MyPetShop系统概述
随着因特网的不断普及和信息高速公路的逐步延伸,人类社会现今已昂首步入信息社会时代,而商品交易模式在不断地发生着变化。
在社会化大生产以及社会分工日趋专业化的今天,网上购物无形的占据着主要的地位。
网上购物系统一般由商品管理,购物车管理,系统管理和会员管理等要素组成,是一个网上交易过程。
其主要任务是交易各方以电子交易方式而不是通过当面交换或直接面谈方式进行的任何方式的商业交易。
显然,这与“网上购物”的概念和内容既有联系,又有明显的区别。
它们涉及的信息范围,服务功能以及社会意义等都不相同。
网上购物系统搜集和管理的是特定的信息,其范围较窄,功能和目标比较明确,具体,主要是为特定的领域和机构的决策和管理服务;而信息管理则要对各类信息及其相关要素进行全方位管理,而对全社会开展信息服务,以便有效地满足社会的信息需求。
今天,我们可以确信网上购物毋庸置疑是未来的发展方向。
然而网上购物系统却还没有一个严格的定义。
Intel公司认为:
网上购物=电子市场+电子交易+电子服务;IBM认为:
网上购物=web;HP公司则说:
“网上购物是通过电子化的手段来完成商业贸易活动的一种方式。
”如此等等。
实验内容
组内成员一起完成购物网站的设计与开发
实验规划
1、网站设计中心思想和大体构架
1.前台商品浏览模块
按照电子商务网站的一般规划和人们使用电子商务网站的习惯,前台商品浏览模块主要实现按照各种条件显示、查看商品的前台显示功能。
2.用户注册登录模块
用户注册和登录模块与通常的会员系统类似,用户注册以后就可以成为系统的会员。
用户只有在成功登录系统后,才可以实现商品的购买。
注册用户还具有修改密码和找回密码的功能。
3.购物车模块
购物车是每个电子商务站点的基本元素。
不允许匿名用户访问购物车。
购物车中包含了用户决定购买的所以商品信息,包括商品编号、商品名称、商品价格、购买数量以及用户应付总价等。
用户在查看商品详细信息时,如果决定购买即可将商品加入购物车,然后可以继续浏览其它产品。
4.订单结算模块
用户完成购物后即可进入结算中心,系统对用户的产品及数量进行价格计算,最后生成用户应付款金额。
然后用户向系统下达订单并提供送货地址和付款方式等信息。
5.后台管理功能模块
后台管理功能模块是根据系统数据维护要求而设计的后台管理平台,只有拥有管理员角色的用户才可进入后台功能模块实现系统的维护与管理。
2、系统的整体架构
系统功能模块设计、用户控件设计、系统数据库总体设计
web.config配置文件的设计
实验过程以及代码
首先我们应该先建立一个ASP的网站
然后我们添加该模板页
然后对模板页面进行编辑代码和布局增加控件
publicpartialclassMasterPage:
System.Web.UI.MasterPage
{
protectedvoidPage_Load(objectsender,EventArgse)
{
Initialize();
}
protectedvoidInitialize()
{
if(Roles.GetAllRoles().Length==0)
{
Roles.CreateRole("Member");
Roles.CreateRole("Admin");
}
}
protectedvoidlnkbtnReset_Click(objectsender,EventArgse)
{
WebPartManagerwebPartManager=newWebPartManager();
webPartManager=WebPartManager.GetCurrentWebPartManager(Page);
webPartManager.Personalization.ResetPersonalizationState();
}
protectedvoidimgbtnSearch_Click(objectsender,ImageClickEventArgse)
{
stringstrQuery="";
if(txtSearch.Text.Trim()=="")
{
strQuery="";
}
else
{
strQuery="?
SearchText="+txtSearch.Text.Trim();
}
Response.Redirect("~/Search.aspx"+strQuery,true);
}
}
母版页的布局代码
实现的效果
然后增添数据库,商品的数据可和用户的数据库
商品种类的数据库
数据库表中的相互关系
将注册的用户添加到数据库里面
注册新的用户界面
publicpartialclassLogin:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
Login1.Focus();
}
}
登录控件代码
购物车的功能部分代码
允许匿名用户访问购物车,购物车中包含了用户决定购买的所有商品信息,包括商品编号、商品名称、商品价格、购买数量以及用户应付总价等,用户在查看商品详细信息时,如果决定购买即可将商品加入购物车,然后可以继续浏览其他产品。
publicpartialclassShopCart:
System.Web.UI.Page
{
DataConndataconn=newDataConn();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
if(Request.QueryString["ProductId"]!
=null)
{
intproductId=int.Parse(Request.QueryString["ProductId"]);
AddProduct(productId);
}
lblHint.Text="温馨提示:
更改购买数量后,请单击'重新计算'按钮进行更新!
";
Bind();
}
}
protectedvoidAddProduct(intproductId)
{
intisExit=0;
for(intj=0;j { if(productId==(int)Profile.Cart.ProId[j]) { intqty=(int)Profile.Cart.Qty[j]; qty++; Profile.Cart.Qty[j]=qty; Profile.Save(); isExit=1; } } if(isExit==0) { varproducts=fromrindataconn.Product wherer.ProductId==productId selectr; foreach(varproductinproducts) { Profile.Cart.ListPrice.Add(product.ListPrice); Profile.Cart.Qty.Add (1); Profile.Cart.ProId.Add(product.ProductId); Profile.Cart.ProName.Add(product.Name); } Profile.Save(); } } protectedvoidBind() { Profile.Cart.TotalPrice=TotalPrice().ToString(); lblTotalPrice.Text=Profile.Cart.TotalPrice; DataTabledt=newDataTable(); dt.Columns.Add("ProId"); dt.Columns.Add("ProName"); dt.Columns.Add("ListPrice"); dt.Columns.Add("Qty"); for(inti=0;i { DataRowrow=dt.NewRow(); row[0]=Profile.Cart.ProId[i]; row[1]=Profile.Cart.ProName[i]; row[2]=Profile.Cart.ListPrice[i]; row[3]=Profile.Cart.Qty[i]; dt.Rows.Add(row); } gvCart.DataSource=dt; gvCart.DataBind(); if(gvCart.Rows.Count! =0) { pnlCart.Visible=true; lblCart.Text=""; } else { pnlCart.Visible=false; lblCart.Text="购物车内无商品,请先购物! "; } } protecteddecimalTotalPrice() { decimalsum=0; for(intj=0;j { intqty=(int)Profile.Cart.Qty[j]; decimallistPrice=(decimal)Profile.Cart.ListPrice[j]; sum+=qty*listPrice; } returnsum; } protectedvoidbtnDelete_Click(objectsender,EventArgse) { intproductId=0; GridViewgvCart=newGridView(); gvCart=(GridView)Page.Master.FindControl("ContentPlaceHolder2").FindControl("gvCart"); if(gvCart! =null) { for(inti=0;i { CheckBoxchkProduct=newCheckBox(); chkProduct=(CheckBox)gvCart.Rows[i].FindControl("chkProduct"); if(chkProduct! =null) { if(chkProduct.Checked) { productId=int.Parse(gvCart.Rows[i].Cells[1].Text); DeleteProduct(productId); } } } } Bind(); } protectedvoidDeleteProduct(intproductId) { intj=0; for(inti=0;i { if(productId==(int)Profile.Cart.ProId[i]) { j=i; break; } } Profile.Cart.ListPrice.RemoveAt(j); Profile.Cart.ProId.RemoveAt(j); Profile.Cart.ProName.RemoveAt(j); Profile.Cart.Qty.RemoveAt(j); Profile.Save(); } protectedvoidbtnClear_Click(objectsender,EventArgse) { Profile.Cart.Qty.Clear(); Profile.Cart.ProName.Clear(); Profile.Cart.ProId.Clear(); Profile.Cart.ListPrice.Clear(); Profile.Save(); Response.Redirect("Default.aspx",true); } protectedvoidbtnComputeAgain_Click(objectsender,EventArgse) { lblError.Text=""; GridViewgvCart=newGridView(); gvCart=(GridView)Page.Master.FindControl("ContentPlaceHolder2").FindControl("gvCart"); if(gvCart! =null) { for(inti=0;i { TextBoxtxtQty=newTextBox(); txtQty=(TextBox)gvCart.Rows[i].FindControl("txtQty"); if(txtQty! =null) { varproduct=(frompindataconn.Product wherep.ProductId==int.Parse(gvCart.Rows[i].Cells[1].Text) selectp).First(); if(int.Parse(txtQty.Text)>product.Qty) { lblError.Text+="Error: 库存不足,商品名为"+gvCart.Rows[i].Cells[2].Text+"的库存数量为"+product.Qty.ToString()+" } else { ChangeQty(int.Parse(gvCart.Rows[i].Cells[1].Text),int.Parse(txtQty.Text)); } } } } Bind(); } protectedvoidChangeQty(intproductId,intqty) { for(inti=0;i { if(productId==(int)Profile.Cart.ProId[i]) { Profile.Cart.Qty[i]=qty; Profile.Save(); } } } protectedvoidbtnSettle_Click(objectsender,EventArgse) { if(User.Identity.IsAuthenticated) { Response.Redirect("SubmitCart.aspx",true); } else { Response.Redirect("Login.aspx"); } } } 执行控件功能 有增添商品删除商品清空购物车重新计算等功能 publicpartialclassSubmitCart: System.Web.UI.Page { protectedvoidPage_Load(objectsender,EventArgse) { if(! User.Identity.IsAuthenticated) { Response.Redirect("~/Login.aspx",true); } pnlConsignee.Visible=true; lblMsg.Text=""; } protectedvoidbtnSubmit_Click(objectsender,EventArgse) { DataConndataconn=newDataConn(); Orderorder=newOrder(); order.UserName=User.Identity.Name; order.OrderDate=DateTime.Now; order.Addr1=txtAddr1.Text.Trim(); order.Addr2=txtAddr2.Text.Trim(); order.City=txtCity.Text.Trim(); order.State=txtState.Text.Trim(); order.Zip=txtZip.Text.Trim(); order.Phone=txtPhone.Text.Trim(); order.Status="未审核"; dataconn.Order.InsertOnSubmit(order); dataconn.SubmitChanges(); intorderId=order.OrderId; for(inti=0;i { OrderItemorderItem=newOrderItem(); orderItem.OrderId=orderId; orderItem.ProName=(string)Profile.Cart.ProName[i]; orderItem.ListPrice=(decimal)Profile.Cart.ListPrice[i]; orderItem.Qty=(int)Profile.Cart.Qty[i]; orderItem.TotalPrice=(int)Profile.Cart.Qty[i]*(decimal)Profile.Cart.ListPrice[i]; varproduct=(fromcindataconn.Product wherec.ProductId==(int)Profile.Cart.ProId[i] selectc).First(); product.Qty-=orderItem.Qty; dataconn.OrderItem.InsertOnSubmit(orderItem); dataconn.SubmitChanges(); } Profile.Cart.Qty.Clear(); Profile.Cart.ProName.Clear(); Profile.Cart.ProId.Clear(); Profile.Cart.ListPrice.Clear(); Profile.Cart.TotalPrice=""; pnlConsignee.Visible=false; lblMsg.Text="谢谢光临本店,祝您购物愉快! "; } } 对产品进行收货发货地址的填写 publicpartialclassSearch: System.Web.UI.Page { protectedvoidPage_Load(objectsender,EventArgse) { if(! IsPostBack) { Bind(); } } protectedvoidBind() { if(Request.QueryString["SearchText"]! =null) { stringstrSearchText=Request.QueryString["SearchText"].ToString(); DataConndataconn=newDataConn(); varproducts=frompindataconn.Product whereSqlMethods.Like(p.Name,"%"+strSearchText.Trim()+"%") selectp; gvProduct.DataSource=products; gvProduct.DataBind(); } else { lblError.Text="无搜索结果! "; } } protectedvoidgvProduct_PageIndexChanging(Objectsender,GridViewPageEventArgse) { gvProduct.PageIndex=e.NewPageIndex; Bind(); } } 商品的浏览和是否加入购物车 用户浏览时候的界面 publicpartialclassUserControl_NewProduct: System.Web.UI.UserControl { protectedvoidPage_Load(objectsender,EventArgse) { DataConndataconn=newDataConn(); varproducts=(fromcindataconn.Product orderbyc.ProductIddescending selectc).Take(7); gvProduct.DataSource=products; gvProduct.DataBind(); } } 商品显示的名称和价格 若已经登录则则跳转若没有登录则跳转至登录界面 publicpartialclassDefault2: System.Web.UI.Page { protectedvoidPage_Load(objectsender,EventArgse) { try { Data
";
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MyPetShop 实验 报告书