购物网站制作参考资料
任务1 网站整体功能划分
依照系统功能要求,在线网络购物系统整体功能分为两个模块:针对一般用户实现在线购物功能模块和治理员后台治理功能模块。
1、在线购物差不多功能模块要紧包括以下一些操作。
①会员注册:用户能够自行注册为会员,只有成为网站会员才能够进行网络购物。
②在线购物:会员登录后,能够对现存商品实现购物功能。
③在线充值:会员在进行购物时,会员的账户中必须有足够的金钱。 ④查看余额:会员登录系统后,能够随时查看个人账户余额。 ⑤修改密码:会员登录系统成功后,能够自行修改密码。
⑥客户留言:会员在购物时假如有建议或意见能够直截了当在线留言。 2、后台治理功能模块包括以下一些操作。 ①修改密码:治理员能够自行修改个人密码。
②商品类别治理:治理员能够对商品的类别进行添加,修改和删除操作。 ③商品治理:治理员能够对商品的信息进行添加和修改操作。 ④会员治理:治理员能够对会员信息进行治理。 ⑤留言治理:治理员能够对用户的留言进行治理。 在线购物系统整个逻辑功能结构示意图如以下图所示。
任务2 数据库设计
依照购物网站的业务流程和功能设计,本网站设计了以下数据表: 〔1〕用户信息表UserInfo,用来储存注册会员的信息。具体结构见下表。
〔2〕商品分类表Category,用来储存商品分类的信息。具体结构见下表。
〔3〕商品表Product,要紧用来储存治理员上传的商品信息。具体结构见下表。
(4)用户购物车表Cart,要紧用来储存用户购买商品时的购物车商品信息。具体结构见下表。
〔5〕用户订单表UserOrder,要紧用来储存用户订单信息。具体结构见下表。
〔6〕用户订单商品详细信息表UserOrderLineItem,要紧用来储存用户购买的商品的明细信息。具体结构见下表。
各表之间的功能关系如以下图所示:
〔6〕数据库访问配置和实现 1.配置Web.Config文件
本系统采纳AdO.NET方式访问SQL Server 2005数据库,第一在Web.Config文件中配置访问数据库的链接字符串,在配置文件中添加代码。
任务3 WEB用户控件和布局设计
1.用户控件
用户控件是ASP.NET控件封装最简单的形式,它能够大大提高代码的重用。由于在系统中每个页面都要判定用户的登录功能和商品的分类功能,因此创建了两个用户控件:用户登录控件、显示商品分类和文件上传控件。
〔1〕用户登录控件。右击【项目】,在弹出的快捷菜单中选择【添加新项】命令,在弹出的对话框中选择【Web用户控件】选项,如以下图所示。
在生成的用户控件的前台代码中添加判定会员在登录成功和没有登录情形下对应的代码。
在登录控件的前台代码中,要紧通过对会员的Session进行判定,假如会员差不多登录,那么显示会员的常用操作菜单,否那么直截了当显示登录对话框。当会员单击【登录】按钮时,添加【登录】按钮的后台处理代码。
关于新用户注册为会员时,对【注册】按钮添加后台处理代码,要紧实现页面的转向。
〔2〕商品分类控件。右击【项目】,在弹出的快捷菜单中选择【添加新项】命令,在弹出的对话框中选择【Web用户控件】选项,输入控件名称〝CategoryList.ascx〞,在分类控件的前台页面中添加一个DataList控件〝dlstCategory〞,如以下图所示,并修改其相应的属性。修改控件
〝dlstCategory〞的数据项模板,将表格的开始标记放在数据项的头部模板中,
终止标记放在底部模板中,中间所有的数据项放在单元格中。
添加控件在页面调入时的后台代码,要紧实现对控件〝dlstCategory〞的数据绑定。
〔3〕文件上传控件。文件上传控件要紧实现对商品图片的上传,返回图片的文件名称,并验证图片的格式。具体前台布局如图10-7所示。
〝图片上传〞按钮后台代码:
〔4〕验证码设计
第一步:先设计一个Validata.aspx文件,后台代码如下:
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.Drawing;
using System.Drawing.Imaging;
public partial class Validata_ : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
Session[\"code\"] = RandNum(4);
ValidateCode(Session[\"code\"].ToString(), 40, 20, \"黑体\", 10, \"#FFFFFF\"); } ///
/// 该方法用于生成指定位数的随机数 ///
/// 参数是随机数的位数 /// 返回一个随机数字符串
private string RandNum(int VcodeNum) {
string Vchar =
\"0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z\";
string[] VcArray = Vchar.Split(',');//拆分成数组 string VNum = \"\";
int temp = -1;//记录上次随机数值,尽量避幸免生产几个一样的随机数
Random rand = new Random();
//采纳一个简单的算法以保证生成随机数的不同 for (int i = 0; i < VcodeNum; i++) {
if (temp != -1) {
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks)); }
int t = rand.Next(VcArray.Length - 1); if (temp != -1 && temp == t) {
return RandNum(VcodeNum);
}
temp = t;
VNum += VcArray[t]; }
return VNum; }
///
/// 生成图片并写入字符 ///
/// 目标字符 /// 宽 /// 高
/// 字体文件 /// 字体大小
/// 图片背景颜色
private void ValidateCode(string VNum, int w, int h, string font, int fontSize, string bgColor) {
Bitmap Img = new Bitmap(w, h);//生成图像的实例
Graphics g = Graphics.FromImage(Img);//从Img对象生成新的Graphics对象
g.Clear(ColorTranslator.FromHtml(bgColor));//背景颜色 Font f = new Font(font, fontSize);//生成Font类的实例
SolidBrush s = new SolidBrush(Color.Gray);//生成笔刷类的实例 g.DrawString(VNum, f, s, 3, 3);//将VNum写入图片中
Img.Save(Response.OutputStream, ImageFormat.Jpeg);//将此图像以Jpeg图像文件的格式储存到流中
Response.ContentType = \"image/Jpeg\"; //回收资源 g.Dispose(); Img.Dispose(); Response.End(); } }
第二步:打开要应用验证码的页面,在页面源文件中对应位置添加如下应用:
点击换一张 第三步:给〝登录〞按钮添加如下代码:
protected void btndenglu_Click(object sender, EventArgs e) {
string name1 = txtname.Text; string pwd1 = txtpwd.Text;
string code = Session[\"code\"].ToString(); string txtcode = txtcheckcode.Text; if (name1 == \"\") {
lblname.Text = \"用户名不能为空\"; }
if (pwd1 == \"\")
{ lblmima.Text = \"密码不能为空\"; }
if (txtcode == \"\"||txtcode != code)
{ lblcode.Text = \"您的验证码输入不正确\"; } else
{ 那个地点请放入登录代码 }
2.母版页
由于系统多个页面要使用相同的布局方式,关于所有的在线购物功能页面中使用统一模板,同时在模板中使用用户控件,能够大大方便代码的重用。右击【项目】,在弹出的快捷菜单中选择【添加新项】命令,在弹出的对话框中选择【母版页】选项,输入母版页名称〝MasterPage.master〞,然后对母版页面进行布局,具体布局成效如以下图所示。
***:母版页要求用DIV+CSS设计
任务4 注册页和商品展现页实现
1.系统默认页面〝Default.aspx〞
在默认页面中,第一使用上面创建的母版页,在内容区域中添加三个栏目:最新上架,精品举荐和特价商品。在每个栏目中添加一个DataList控件,用来显示对应的商品,并设置相应的属性,如以下图所示。
设置完成后,单击DataList控件的任务快捷菜单,选择【编辑模板】选项,如以下图所示。
在模板编辑窗口中,对ItemTemplate进行编辑,具体成效如以下图所示。
编辑ItemTemplate完成后,返回到默认页面,现在页面成效如以下图所示。 以同样的方式完成其他两个栏目的DataList设置。完成页面的前台设计部分后,
第一添加页面载入代码,实现DataList的数据绑定。
其次,添加DataList数据项模板中的【添加到购物车】按钮的事件绑定。 关于显示商品详细信息按钮,通过在模板中定义链接的方式来定义。 最终默认页面运行成效如下图。
2.会员注册〝Register.aspx〞
会员注册页面也使用了母版页,要紧实现用户在线注册为会员。运行成效如下图。
在新会员注册过程中,第一对用户输入的内容进行验证,是否符合指定格式。 假如新注册会员与已注册会员同名那么不承诺注册。
〝注册〞按钮后台代码如下:
任务5 购物车实现
会员假如实现在线购买商品,必须登录成功后方可进行购物。当会员单击【添加至购物车】按钮,单击该链接将在用户的购物车中放置该商品,以便用户随时把握预备订购的商品。具体的购物流程图如以下图所示。
具体操作步骤:
(1) 添加一个新的页面shopcart.aspx。
(2) 设计页面成效图和源代码设计如下:
页面源代码中SqldataSource源代码设置如以下图:
页面源代码中GridView控件源代码设置如以下图:
(3) 页面后台代码: Page_load代码设置如以下图:
购物车中商品价格总计运算代码如以下图:
任务6:结算与订单生成
在购物车中单击〝结算〞超链接,进行最后订单生成。在结算页提交订单前,需要最后确认该订单的商品、数量、金额、用户资料,关于支付方还需要填写信用卡的相关信息。运行成效图如下:
界面成效图如下:
源代码如下:
后台代码如下:
储备过程AddOrder中代码如下:
任务7 在线留言〝GuestBook.aspx〞〔自行设计完成〕
假如用户在购物过程中有一些建议,能够直截了当在线留言,具体成效如下图。
任务8:后台设计〔自行设计完成〕
1.后台商品分类治理〝Class.aspx〞
后台商品分类治理要紧对分类的增加,删除和修改操作,前台页面布局如图10-21所示。
2.后台商品治理〝Manager.aspx〞
后台商品治理要紧是对目前在线商品信息进行修改,通过GridView绑定SqlDataSource数据源进行数据显示和分页,具体的前台页面布局如图10-22所示。
3.后台商品添加〝GoodsAdd.aspx〞
后台商品添加要紧是添加新的上线商品,包括了商品的差不多信息和图片信息,前台布局如图10-23所示。
治理员在添加新商品时,第一对商品的一些信息进行验证,像产品名称,市场价格等。
4.后台会员信息治理〝Customer.aspx〞
治理员能够扫瞄会员信息,并具有删除会员信息的权限,通过GridView绑定SqlDataSource数据源进行数据显示和分页,具体的前台页面布局如图10-24所示。
12.留言信息治理〝GuestBook.aspx〞
治理员能够扫瞄所有的留言信息,并具有删除留言的权限,通过GridView绑定SqlDataSource数据源进行数据显示和分页,具体的前台页面布局如图10-25所示。
任务9:网站的公布、打包与安装〔自学完成〕
1、网站公布
〔1〕打开要公布的网站,在【解决方案资源治理器】的项目根名目上右击,在弹出的快捷菜单中选择【公布网站】命令,在弹出的对话框中的【目标位置】文本框里输入要储备的位置d:\\EShop,单击【确定】按钮。
〔2〕在编译完成后,有〝公布成功〞的提示字样。
〔3〕在【资源治理器】(Windows+E快捷键〕中,找到EShop,右击,在弹出的快捷菜单中选择【共享与安全】命令,在弹出的对话框中打开【Web共享】选项卡。
〔4〕选中【共享文件夹】单项选择按钮,弹出【编辑别名】对话框,现在保留默认的别名并单击【确定】按钮。
2、程序打包
〔1〕打开要公布的网站,选择【文件】→【添加】→【新建项目】命令。 〔2〕在弹出的【添加新项目】对话框中,在【名称】文本框中输入网站名称,在【位置】下拉列表框中选择默认位置并单击【确认】按钮。
〔3〕在【Web应用程序文件夹】上右击,在弹出的快捷菜单中选择【添加】→【项目输出】命令。如图9-14所示。
〔4〕在弹出的【添加项目输出组】对话框中单击【确定】按钮即可。
〔5〕在【解决方案资源治理器】中的EShop上右击,在弹出的快捷菜单中选择【生成】命令,等显现〝生成成功〞时,打包完毕,如图9-17所示。
〔6〕打包完成后,生成两个文件,一个是setup.exe,另一个是EShop.msi。在【输出】窗口中,能够找到存放这两个文件的路径,如图9-18所示。
3、网站打包后的安装部署
〔1〕将打包生成的setup.exe复制到目标服务器上,双击即可安装,在弹出的对话框中单击【下一步】按钮。
〔2〕在弹出的【EShop】对话框中,注意【站点】下拉列表框中为〝默认网站〞选项,并在【虚拟名目】文本框中输入〝EShop〞。如图9-21所示。
〔3〕单击【下一步】按钮,直到单击【关闭】按钮。
〔4〕在桌面上,右击【我的电脑】,在弹出的快捷菜单中选择【治理】→【Internet信息服务】→【网站】→【默认网站】→【EShop】命令,如图9-23所示。
〔5〕在【运算机治理】右侧的窗口中找到Default.aspx,右击,在弹出的快
捷菜单中选择【扫瞄】命令,将在扫瞄器里扫瞄该网站。
【总结】
本实训在前面章节的基础上,综合运用各种ASP.NET技术,涉及大量动态网页开发的概念与一样做法,差不多专门贴切实际的项目开发。能够看到在实际的开发过程中,专门多具体功能、任务和成效的实现,并没有在前面系统的知识讲解中涉及。实际上也不可能在任何一本教材中涵盖。开发的过程实际上是培养分析问题、解决问题能力的过程。实际开发工作要求必须养成经常查找文档,利用搜索引擎搜索问题、解决问题的适应。只有如此才能不断应对各种各样的功能成效要求。