120 likes | 246 Views
电子商务网站系统 理论. 需求分析与结构设计 3. 【 电子商务平台系统数据库及表设计 】. 用户信息表如下:其数据字段如下表所示:. 电子商务平台系统 实践. 网站主页制作 4. 【 任务描述 】.
E N D
电子商务网站系统 理论 需求分析与结构设计 3 【电子商务平台系统数据库及表设计 】 用户信息表如下:其数据字段如下表所示:
电子商务平台系统 实践 网站主页制作 4 【任务描述】 本电子商务网站首页是服务为宗旨,在商品展示区中看到最新推出的新品排行、热门商品。在“商品分类列表”中可以对商品进行分类浏览查询,并购买所需商品。用户登录后可以发表留言、管理留言。前台首页效果 如下 :
电子商务平台系统 实践 网站主页制作 4 【任务分析】
电子商务平台系统 实践 网站主页制作 4 【相关知识与技能】 • 使用母版页及用户自定义控件,页首、商品导航和页尾设定用户自定义控件。 • 商品导航及商品品浏览用到数据控件DataList,商品分类数据需要从SecCategoryInfosTable表中读取,商品浏览数据从GoodsTable表中读取。DataList控件中设置模板,使用 CommandArgument 属性来指定补充 CommandName 属性的参数。
电子商务平台系统 实践 网站主页制作 4 【任务实施】 【创建用户自定义控件left.aspx】 • 1、在应用程序中新建一个Web窗体,命名为left.aspx。 • 在页面中添加一个Table表格控件,从“工具箱”选项卡中拖放1个DataList。 • 编辑模板,从“工具箱”选项卡中拖放1个LinkButton,其功能是链接到显示商品分类的页面。显示的数据是分类商品的类别。 • 设置CommandName ="select",右键DataList属性激活DataList1_ItemCommand事件。 • 此事件中根据传递商品类别SecCategoryID值实现网页跳转,为用Session对象保存这个商品类别。 • 编辑其属性,将CommandArgument 的绑定设置为Eval("SecCategoryID"),目的是传递SecCategoryID给DataList1_ItemCommand事件中的e.CommandArgument。获取商品类别名称<%# DataBinder.Eval(Container.DataItem, "SecCategoryName") %>
电子商务平台系统 实践 网站主页制作 4 【任务实施】 【创建用户自定义控件left.aspx】 • 2、将Web网页转化为用户控件。具体操作如下: • 重命名.aspx文件,使其文件扩展名为.ascx。 • 根据代码隐藏文件使用的编程语言,重命名代码隐藏文件使其文件扩展名为 .ascx.cs。 • 打开代码隐蔽文件并将该文件继承的类从Page更改为UserControl。即将System.Web.UI.Page语句更改为System.Web.UI. UserControl。 • 在.aspx文件中,执行以下操作。
电子商务平台系统 实践 网站主页制作 4 【任务实施】 【创建用户自定义控件left.aspx】 • 3、从该页面中移除html、body和form元素。 • 将@Page指令更改为@Control指令。 • 移除@Control指令中除Language、AutoEventWireup、CodeFile和Inherits之外的所有属性。 • 在@Control指令中,将CodeFile设置为leftt.ascx.cs。 注:同理制作页头top.ascx,页尾buttom.ascx
电子商务平台系统 实践 网站主页制作 4 【任务实施】 【创建母版页MasterPage.master 】 • 创建母版页,用来封装前台每个页面的页头、页尾和分类导航。 • 在网站中加入一个母版页MasterPage.master。 • 由于MasterPage.master默认的版面布局并不符合我们的需要,要修改其布局。由于默认的ContentPlaceHolder很碍事,故先暂时删除,稍后会重新加入。 • 插入Table模板作为版面布局,【布局】→选择【插入表】,选择模板“页眉、页脚和边”。 • 插入新的ContentPlaceHolder控件。由于先前将ContentPlaceHolder删除掉,在此必须将其加回来,因为ContentPlaceHolder是后续网页显示内容的地方。 • 在“页眉、页脚和边”处分别加入先前做好的用户自定义控件top.ascx、 buttom.ascx和left.ascx。
电子商务平台系统 实践 网站主页制作 4 【创建前台主页default.aspx】 【任务实施】 • 创建母版页,用来封装前台每个页面的页头、页尾和分类导航。 • 在网站中加入一个母版页MasterPage.master。 • 在ContentPlaceHolder处1个DataList ,作为主页中新品排行的数据显示控件。 • 在DataList中显示10个图片,右键DataList属性页,设置RepeatColumns为5,一行设定5列。 • 在主页中需要显示商品图片、商品名和价格。编辑模板,从“工具箱”选项卡中拖放一个表格1列5行,分别放入控件ImageButton(商品图片)、LinkButton(商品名) • 两个Lable(市场价和会员价)。再放一个ImageButton,它的ImagUrl属性设为图片,用于购买商品,跳转到购物车页ShopCart.aspx,
电子商务平台系统 实践 网站主页制作 4 【创建前台主页default.aspx】 【任务实施】 • 设置商品图片控件ImageButton2 的CommandArgument属性为Eval("goodsID")(表GoodsTable的字段),目的是传递参数GoodsID给DataList1_ItemCommand事件;ImageUrl属性设为Eval("goodsPicture"),用来显示商品图片。 • 设置商品名称控件LinkButton1,LinkButton1替换为<%#Eval ("goodsname") %>,目的是显示商品的名称。 • 市场价和热卖价分别加上<%#Eval ("MarketPrice").ToString()%>和<%#Eval("GoodsSellPrice").ToString()%>,目的是显示对应的值。 • 购买商品跳转到购物车页ImageButton1控件CommandArgument属性为Eval("goodsID")。
电子商务平台系统 实践 网站主页制作 4 【创建前台代码页default.aspx.cx】 【任务小结】 • 在Page_Load事件中,自定义方法dlBindPage(),用于显示“新品排行”并分页。 • DataList1_ItemCommand事件: 单击商品图片(ImageButton2)查看商品详细信息StyleDetail.aspx; 单击“购买”按钮(ImageButton1)去购物车页ShopCart.aspx。 ImageButton2的CommandName定义为“detail”; ImageButton1的CommandName定义为buy; 在DataList1_ItemCommand事件中,通过e.CommandName来判断单击的是哪个控件执行哪个方法 。 • 自定义AddressBack方法 一是保存当前页(主页)Session[“address”] = “Default.aspx”,以便在商品详细信息页单击“返回”按钮时,返回到该 二是跳转到商品详细信息StyleDetail.aspx,保存商品的ID Session["ID"] =
电子商务平台系统 实践 网站主页制作 4 【创建前台代码页default.aspx.cx】 【任务小结】 Convert.ToInt32(e.CommandArgument.ToString()),以便商品的详细信息页找到此商品,并传参ID(由Eval("goodsID")给定)。 • 自定义AddShopCart实现的主要功能是将用户新购买的商品添加到购物车中。在实现过程中,判断用户是否已经有了购物车,如果用户没有,则重新分配一个给用户;如果用户已经有了购物车,则判断该购物车中是否已经有该商品。