当前位置:首页 >> 理学 >>

02 笔业论文(范文套用)

广东海洋大学寸金学院 毕业论文(设计) 毕业论文(设计)
论文题目: 石材展示电子商务网站
Stone shows e-commerce sites

系 专 班 姓 学

别:

信息技术系

业: 计算机科学与技术 级: 名: 号: 07 计本 1 班 谢嘉诚 200616704125 叶伟慧 讲师

指导老师: 职 日 称:

期: 2011-05-20

广东海洋大学寸金学院教务

广东海洋大学寸金学院 2011 届毕业论文(设计)





目录 ................................................................... I 摘 要 ................................................................ III 第 1 章 引言 ........................................................... 1 第 2 章 需求分析 ....................................................... 1 2.1 需求分析 ........................................................ 1 2.2 可行性分析 ...................................................... 2 2.3 设计目标 ........................................................ 2 2.4 开发及运行环境 .................................................. 3 第 3 章 总体设计 ....................................................... 3 3.1 项目规划 ........................................................ 3 3.1.1 前台功能模块 .............................................. 3 3.1.2 网站功能结构图 ............................................. 3 3.2 逻辑结构设计 .................................................... 4 3.2.1 数据表概要说明 ............................................. 4 3.3 文件夹及文件架构布局 ............................................ 4 3.4 技术准备 ........................................................ 5 3.4.1 数据库命名规则 ............................................. 5 3.4.2 变量及对象名称定义规则 ..................................... 6 3.4.3 数据类型简写规则 ........................................... 6 3.4.4 对象名称定义规则 ........................................... 6 第 4 章 详细设计 ....................................................... 6 4.1 Web.Config 文件配置 ............................................. 6 4.2 数据库操作类的编写 .............................................. 7 4.2.1 db.cs 类 ................................................... 7 4.2.2 User.cs 类 ................................................ 10 4.2.3 Product.cs 类 ............................................. 12 4.2.4 Sort.cs 类 ................................................ 13 4.3 网站前台文件架构设计 ........................................... 14 4.3.1 网站主页面(index.aspx) ................................... 14 4.3.2 Login.ascx .............................................. 23 4.3.3 Sort.ascx ............................................... 25 4.3.4 Search.ascx ............................................. 27 4.3.5 Footer.ascx ............................................. 31 4.4 商品详细信息(ProductDetails.aspx) ............................ 31 4.5 用户注册(Reg.aspx) ........................................... 36 第 5 章 测试 .......................................................... 43 5.1 测试的必要性 ................................................... 43 5.1.1 目的: ..................................................... 43 5.1.2 方法: ..................................................... 43
I

广东海洋大学寸金学院 2011 届毕业论文(设计)

5.2 测试成果 ....................................................... 44 5.3 存在的问题 ..................................................... 44 结束语 ................................................................ 45 致 谢 ................................................................ 46 参考文献 .............................................................. 47

II

广东海洋大学寸金学院 2011 届毕业论文(设计)

摘 要
电子商务正是为石材展示销售开辟了一个新的平台。与传统的销售方式相比,石 材展示电子商务网站是石材的另一种宣传以及销售通路,是传统销售很好的延伸。石 材展示电子商务网站(以下简称石材网)正是基于 B/S 的石材展示电子商务网站。主 要是为了展示石材,方便顾客进行石材查询,以及对客户信息进行管理等。系统后台 数据库采用目前比较流行的 Microsoft SQL Server 2005,该数据库系统在安全性、 准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;前台采用 Microsoft 公司的 Visual Studio 2008 作为主要的开发工具,可实现与 SQL Server 2005 数据库无缝链接。该网站设计的最终目的是为石材展示和销售提供一个新的平 台,增加市场竞争力,具有一定的实用价值和应用前景。 关键字: 电子商务,SQL Server 2005,分析,竞争力

III

广东海洋大学寸金学院 2011 届毕业论文(设计)

Abstract
E-commerce has opened up a new era of the prawn marketing! In compare with the traditional marketing method,prawn e-commerce is another effective advertising and selling means,even the extending of the traditional ways.Prawn.com is a b to s prawn selling e-commerce wedsite。It has the function of prawn exhibition,convenient online inquiry,prawn order and customer information management!We adopt the mainstream Microsoft SQL Server 2005 system back module data base,it is not only has the absolute advantage on safety, veracity and running velocity,but also has huge data base proccessing ability and high efficiency;and the front module,we employ Microsoft’s Visual Studio 2008 as the main developer,it can perfectly interlink with SQL Server 2005.The ultimate purpose of the design of the site,is offering a brandnew platform for the prawn breeding industry,and Increase the market competitive power!The Prawn.com has certain pratical

value and commendable apply prospect。

Keywords: E-commerce,SQL Server 2005,Analysis,competitive

IV

广东海洋大学寸金学院 2011 届毕业论文(设计)

第1章

引言

石材作为一种高档建筑装饰材料,多数人对于它的种类、性能都不甚了解,传统 的销售方式,销售范围受限制,宣传力度不够,且销售地相对集中,造成内部竞争激 烈,价格不断下降。 随着 internet 技术的飞速发展,人们的生活和 internet 的关系越来越密切,如何通 过 Internet 抓住商机成为摆在人们面前的一个重要话题,电子商务是一种新的商务活 动形式,它采用现代信息技术手段,以通信网络和计算机装置替代传统交易过程中纸 介质信息载体的存储、传递、统计、发布等环节,从而实现商品和服务交易管理等活 动全过程的无纸化和在线交易。 石材网正是为石材展示销售开辟了一个新的平台。与传统的销售方式相比,石材 展示电子商务网站是石材另一种很好的宣传或销售通路, 甚至是传统销售很好的延伸。 在互联网上,所有的客户不仅可以实时地看到石材的图片、外观、价格,同时还能通 过互联网获得厂商、媒体对商品的评测报道和同档次商品比较的信息资料;也可以为 各个休户大大地节约资金、时间和资源,并对他们的商业运作产生重要的影响。该网 站设计为石材业提供一个新的平台,增加市场竞争力,也降低了经济风险。

第2章
2.1 需求分析

需求分析

开发一个网上购物商城系统前,首先需要考虑用户的需求是什么,即该网站应该 实现的主要功能。 通过相关调查发现,在编写展示商务网站系统时,主要设计前台注册用户登录即 可。 用户在登录进入该展示商务网站后,即可查看各种石材及相关产品的详细信息。 石材展示商务网站具体流程如图 2.1 所示。

1

广东海洋大学寸金学院 2011 届毕业论文(设计)

图 2.1 石材展示商务网站流程图

2.2 可行性分析
随着网络的快速发展,展示型商务网站以其方便、快捷的特点受到了更多用户的 青睐。对比传统的商场销售,展示型商务网站可以将商品详细分类,为用户提供了更 大的选择空间;通过前台商品的展示,可以使顾客更好地了解网站内的商品。 石材展示商务网站系统后台数据库采用目前比较流行的 Microsoft SQL Server 2005,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据 库量大, 效率高; 前台采用 Microsoft 公司的 Visual Studio 2008 作为主要的开发工具, 可实现与 SQL Server 2005 数据库无缝链接。

2.3 设计目标
对于典型的数据库管理系统,尤其是展示型商务网站这样数据量比较大的网络管 理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应该满足以下 几个目标。 ①界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。 ②全面展示网站内所有商品,并可以展示最新商品。

2

广东海洋大学寸金学院 2011 届毕业论文(设计)

③查看网站内商品的详细信息。 ④系统最大限度地实现易维护性和易操作性。 ⑤系统运行稳定、安全可靠。

2.4 开发及运行环境
硬件平台
CPU:P4 1.8GHZ

内存:256MB 以上 软件平台 操作系统:windows xp 数据库:SQL Server2005 开发环境:Microsoft.NET Framework SDKv3.5 开发工具:Microsoft Visual Studio 2008 开发语言:C#语言 服务器:IIS6.0 浏览器:IE5.0,推荐使用 IE6.0 分辩率:最佳效果 1024*768 像素

第3章
3.1 项目规划

总体设计

展示型商务网站只需前台会员模块即可。

3.1.1 前台功能模块
前台模块主要包括用户注册、登录、查看各类石材相关信息和搜索特定石材等功 能。

3.1.2 网站功能结构图
石材展示商务网站前台功能结构如图 3.1 所示。

3

广东海洋大学寸金学院 2011 届毕业论文(设计)

图 3.1 石材展示商务网站前台功能结构图

3.2 逻辑结构设计
3.2.1 数据表概要说明
为了使读者对本系统后台数据库中的数据表有一个清晰的认识,笔者在此特别设 计了一个数据表树型结构图, 该结构图包括系统中所有数据表, 如图 3.2.1 所示:

图 3.2.1 数据表树型结构图

3.3 文件夹及文件架构布局
开发 ASP.NET 程序时,首先要创建很多 Web 页、用户控件以及类,来完成基本的 功能操作。不过,在编写代码之前,可以先把网站中可能用到的文件夹创建出来(例 如:创建一个名为 Image 的文件夹,用于保存网站中需要的图片),这样可以方便以 后的开发工作,也可以规范网站的整体架构。因此在开发该网站之前,首先设计了如 图 3.3 所示的文件夹架构图,在开发时只需将相应文件保存到对应文件夹下即可。

4

广东海洋大学寸金学院 2011 届毕业论文(设计)

图 3.3 展示型商务网站的 ASP.NET 页文件夹架构图

3.4 技术准备
开发展示型商务网站系统前,一定要统一数据库命名及编码规则,该石材展示商 务网站具体编码规则如下。

3.4.1 数据库命名规则
数据库名是以“DZSW”命名,表示为电子商务网站如表 3.1 所示。
表 3.1 DZSW DZSW 数据库命名规则 电子商务网站数据库名 展示型商务网站

数据表名是以中文原意的英文大写开头,以“INFO”结尾,中间接“_” ,最后接 整个系统中完成各项需求的匹配名称,如表 3.2 所示。
表 3.2 USER_INFO INFO USER 表示为信息表 网站用户 数据表命名规则 用户表名

数据库中字段是以中文原意的英文命名的,下面以 USER_INFO 表中字段为例,如 表 3.3 所示。
表 3.3 UserID UserName Password 用户姓名 用户密码 字段命名规则 用户 ID

存储过程的命名方法同样是按照存储过程的作用命名的, 其命名规则如表 3.4 所示。
5

广东海洋大学寸金学院 2011 届毕业论文(设计) 表 3.4 PROC_LOGIN PORC LOGIN 存储过程 登陆验证 存储过程命名规则 存储过程全名

3.4.2 变量及对象名称定义规则
模块级变量采用:M_+数据类型简写+变量名称,例如:M_int_xx。 全局变量采用:G_+数据类型简写+变量名称,例如:G_int_xx。 局部变量采用:P_+数据类型简写+变量名称,例如:P_int_xx。 模块级常量采用:Mc_+数据类型简写+变量名称,例如:Mc_int_xx。 全局常量采用:Gc_+数据类型简写+常量名称,例如:Gc_int_xx。 过程级常量采用:Pc_+数据类型简写+常量名称,例如:Pc_int_xx。

3.4.3 数据类型简写规则
整 型 int str db bl lnt

字符串 ? 浮点型 ? 布尔型 ? 长整型

3.4.4 对象名称定义规则
所有的对象名称都为自然名称的拼音简写,出现冲突时可采用不同的简写规则。

第4章
4.1 Web.Config 文件配置

详细设计

为了方便对数据的操作和限制, 本系统在 Web.Config 文件中配置一些参数。 主要 配置参数是数据库连接字符串,其具体配置如下。 <?xml version="1.0"?> <configuration> <appSettings/> <add name="DZSWConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DZSW.mdf;Integrated
6

广东海洋大学寸金学院 2011 届毕业论文(设计)

Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
<connectionStrings/>

…… </configuration>

4.2 数据库操作类的编写
在网站开发项目中以类的形式来组织、封装一些常用的函数和事件,不仅可以提 高代码的重用率,也大大地方便了代码的管理。在石材网网站中新建了一个公共类, 用来执行各种数据库操作。

4.2.1 db.cs 类
为使数据库操作更加方便,本系统定义了一个 db.cs 类,用于执行数据库连接、 更新等操作,其主要代码如下所示: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.Data.Sql;/// <summary> /// db 的摘要说明 /// </summary> public class db { public db() { // // TODO: 在此处添加构造函数逻辑 // } …… ……此处编写相关的功能方法 …… }

7

广东海洋大学寸金学院 2011 届毕业论文(设计)

在编写类中方法之前,应该首先在该类中生成一个 SqlConnection 对象来创建与 数据库连接,以便在后面方法中调用,其具体代码如下。
static string connectstring = "DZSWConnectionString"; public static SqlConnection con() { return new SqlConnection (ConfigurationManager.ConnectionStrings[connectstring].ToString()); }

该类中包含 2 个方法,分别为 insert 方法、ds 方法,下面分别介绍这 2 个方法。
1, insert 方法

该方法主要执行一些指定的插入,其具体实现代码如下。
public static bool insert(string que) { SqlConnection con = db.con();

con.Open(); SqlCommand cmd = new SqlCommand(que, con); try { int count = Convert.ToInt32(cmd.ExecuteNonQuery()); if (count > 0) { return true; } else { return false; } } catch (SqlException se) { return false; }

8

广东海洋大学寸金学院 2011 届毕业论文(设计) finally { con.Close(); } } 2, ds 方法

该方法主要执行指定的查询语句,并将结果通过数据形式返回,其具体实现代码 如下。
public static DataTable ds(string que) { SqlConnection con = db.con(); con.Open(); SqlDataAdapter sda = new SqlDataAdapter(que, con); DataSet ds = new DataSet(); sda.Fill(ds, "product"); return (ds.Tables["product"]); }

完整代码如下: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.Data.Sql; /// <summary> ///db 的摘要说明 /// </summary> public class db {
9

广东海洋大学寸金学院 2011 届毕业论文(设计)

public db() {} static string connectstring = "DZSWConnectionString"; public static SqlConnection con() { return new SqlConnection(ConfigurationManager.ConnectionStrings[connectstring].ToString()); } public static bool insert(string que) { SqlConnection con = db.con(); con.Open(); SqlCommand cmd = new SqlCommand(que, con); try { int count = Convert.ToInt32(cmd.ExecuteNonQuery()); if (count > 0) { return true; } else { return false; } } catch (SqlException se) { return false; } finally { con.Close(); } } public static DataTable ds(string que) { SqlConnection con = db.con(); con.Open(); SqlDataAdapter sda = new SqlDataAdapter(que, con); DataSet ds = new DataSet(); sda.Fill(ds, "product"); return (ds.Tables["product"]); } }

4.2.2 User.cs 类

10

广东海洋大学寸金学院 2011 届毕业论文(设计)

为了使对用户操作更加方便,定义了User.cs类负责与用户相关的操作,其主要代 码如下所示: using System; using System.Data; using System.Configuration; 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.Data.SqlClient; using System.Data.Sql; /// <summary> /// User 的摘要说明 /// </summary> public class User { public User() { // // TODO: 在此处添加构造函数逻辑 // } …… ……此处编写相关的功能方法 …… } 该类中包含 2 个方法,分别为 GetUserLogin 方法、RegUser 方法,下面分别介绍 这 2 个方法。 1. GetUserLogin 方法 该方法主要执行获取用户登录信息,具体实现代码如下: public SqlDataReader GetUserLogin(string sUserName, string sPassword) { SqlConnection conn = db.con(); conn.Open(); SqlCommand comm = new SqlCommand("PROC_LOGIN", conn); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.Add("@LoginName", SqlDbType.NVarChar, 50); comm.Parameters["@LoginName"].Value = sUserName; comm.Parameters["@LoginName"].Direction = ParameterDirection.Input; comm.Parameters.Add("@Password", SqlDbType.NVarChar, 50);
11

广东海洋大学寸金学院 2011 届毕业论文(设计)

comm.Parameters["@Password"].Value = sPassword; comm.Parameters["@Password"].Direction = ParameterDirection.Input; SqlDataReader sdr = comm.ExecuteReader(); ///返回从数据库获取的结果 return (sdr); } 2.RegUrer方法 该方法主要执行注册新用户的操作,具体实现代码如下: public bool RegUser(string loginName, string userName, string password,string email, string address,string telephone) { string strsql = "INSERT INTO USER_INFO " + "VALUES ( " + "'" + loginName + "', " + "'" + userName + "', " + "'" + password + "', " + "'" + email + "', " + "'" + address + "', " + "'" + telephone + "', " + "'" + DateTime.Now.ToString() + "', " + "'" + DateTime.Now.ToString() + "'" + ")"; return db.insert(strsql); }

4.2.3 Product.cs 类
定义了Product.cs类负责与商品相关的操作,其主要代码如下: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; /// <summary>

12

广东海洋大学寸金学院 2011 届毕业论文(设计)

///Product 的摘要说明 /// </summary> public class Product { public Product() { } public static DataTable GetProductDetailByID(string productID) { string strsql = "SELECT * FROM PRODUCT_INFO WHERE ProductID=" + productID; return db.ds(strsql); } }

4.2.4 Sort.cs 类
定义了Sort.cs类负责与商品分类相关操作,其主要代码如下: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; /// <summary> ///Product 的摘要说明 /// </summary> public class Product { public Product() { } public static DataTable GetProductDetailByID(string productID) { string strsql = "SELECT * FROM PRODUCT_INFO WHERE ProductID=" + productID; return db.ds(strsql); }

13

广东海洋大学寸金学院 2011 届毕业论文(设计)

} 4.2.5日后如果需要增加功能 日后如果需要增加功能,如订单购买等功能,可继续增加相关的类 可继续增加相关的类。

4.3 网站前台文件架构设计
石材网前台文件设计: : 展示型商务网站仅需要首页、商品详细信息页和注册页即可,如有需要以后可另 展示型商务网站仅需要首页 如有需要以后可另 行增加购买物品的相关页面。 行增加购买物品的相关页面

4.3.1 网站主页面( (index.aspx)
网站主页面设计结果如图 4.3.1 所示: 设计结果如图

图 4.3.1 网站主页面设计效果

该页主要使用的用户控件 Login.ascx(登录控件)、 控件有 Sort.ascx 石材分类控件) ( 、 Search.ascx(石材搜索控件 、Footer.ascx(页脚控件) 石材搜索控件) 。 网站主页面主要由用户自定义控件和框架组成 自定义控件经过拖放即可使用。 主要由用户自定义控件和框架组成,自定义控件经过拖放即可使用 而用户控件只需拖放进相对应的位置后, 而用户控件只需拖放进相对应的位置后 “源”视图就会自动生成如下代码 : 视图就会自动生成如下代码。

14

广东海洋大学寸金学院 2011 届毕业论文(设计) <%@Register src="WebUserControl/Login.ascx" tagname="Login" tagprefix="uc2" %> <%@ Register src="WebUserControl/Sort.ascx" tagname="Sort" tagprefix="uc1" %> <%@Register src="WebUserControl/Search.ascx" tagname="Search" tagprefix="uc3" %> <%@Register src="WebUserControl/Footer.ascx" tagname="Footer" tagprefix="uc4" %> …… <uc2:Login ID="Login1" runat="server" /> …… <uc1:Sort ID="Sort1" runat="server" /> …… <uc3:Search ID="Search1" runat="server" /> …… <uc4:Footer ID="Footer1" runat="server" /> ……

网站主页面中添加的 DataList 控件用于以列表的形式显示商品的信息。 在这里主要编 辑的模板为 ItemTemplate(项模板) ,效果如下图所示:

ItemTemplate 模板设计效果

完成项模板编辑后,还需要在主页面“源”视图中添加部分代码,添加代码后,主页 面完整程序代码如下:
Index.aspx 设计文件 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="_Default" %> <%@ Register src="WebUserControl/Login.ascx" tagname="Login" tagprefix="uc2" %> <%@ Register src="WebUserControl/Sort.ascx" tagname="Sort" tagprefix="uc1" %> <%@ Register src="WebUserControl/Search.ascx" tagname="Search" tagprefix="uc3" %> <%@ Register src="WebUserControl/Footer.ascx" tagname="Footer" tagprefix="uc4" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1.0 Transitional//EN"

15

广东海洋大学寸金学院 2011 届毕业论文(设计)

<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>石安居石材网</title> </head> <body> <form id="form1" runat="server"> <div> <table style="width: 800px;" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFCC"> <tr> <td colspan="2"> <asp:HyperLink ID="HyperLink1" runat="server" ImageUrl="~/Image/图 片/承德万维.gif" NavigateUrl="http://www.cdwwstone.com/">HyperLink</asp:HyperLink> &nbsp;&nbsp;&nbsp; <asp:HyperLink ID="HyperLink2" runat="server" ImageUrl="~/Image/图片/帝斯曼微晶石石英石.gif" NavigateUrl="http://www.tism.com.cn/zh/index/">HyperLink</asp:HyperLink> &nbsp;&nbsp;&nbsp; <asp:HyperLink ID="HyperLink3" runat="server" ImageUrl="~/Image/图片/杭州伟盛石材工程有限公司.gif" NavigateUrl="http://www.wsstone.cn/">HyperLink</asp:HyperLink> &nbsp;&nbsp;&nbsp; <asp:HyperLink ID="HyperLink4" runat="server" ImageUrl="~/Image/图 片/江苏大力宝.gif" NavigateUrl="http://www.repow.com/">HyperLink</asp:HyperLink> </td> </tr> <tr> <td colspan="2"> <asp:HyperLink ID="HyperLink5" runat="server" ImageUrl="~/Image/图 片/金枫玉石.gif" NavigateUrl="http://www.goldenmaple.com.cn/">HyperLink</asp:HyperLink> &nbsp;&nbsp;&nbsp; <asp:HyperLink ID="HyperLink6" runat="server" ImageUrl="~/Image/图 片/泰德石材.gif" NavigateUrl="http://stonexyj.stone365.com/mc.html">HyperLink</asp:HyperLink> &nbsp;&nbsp;&nbsp; <asp:HyperLink ID="HyperLink7" runat="server"

16

广东海洋大学寸金学院 2011 届毕业论文(设计) ImageUrl="~/Image/图片/香港国际建筑装饰材料及五金展.gif" NavigateUrl="http://www.hktdc.com/fair/hkbdh-sc/%E9%A6%99%E6%B8%AF%E8%B4%B8% E5%8F%91%E5%B1%80%E9%A6%99%E6%B8%AF%E5%9B%BD%E9%99%85%E5%BB %BA%E7%AD%91%E8%A3%85%E9%A5%B0%E6%9D%90%E6%96%99%E5%8F%8A%E 4%BA%94%E9%87%91%E5%B1%95.html?http://www.hktdc.com/fair/hkbdh-sc/">HyperLink< /asp:HyperLink> &nbsp;&nbsp;&nbsp; <asp:HyperLink ID="HyperLink8" runat="server" ImageUrl="~/Image/图 片/云浮东山石材.gif">HyperLink</asp:HyperLink> </td> </tr> <tr> <td style="width: 200px; " rowspan="2"> <uc2:Login ID="Login1" runat="server" /> </td> <td style="width: 600px; height: 178px;"> <img src="Image/例图/石安居.jpg" style="height: 180px; width: 595px" /> </td> </tr> <tr> <td> <table id="Table1" runat="server" visible="false"> <tr> <td align="right" valign="middle"> <span style="font-size: 10pt; font-family: 宋体">[欢迎您,</span> </td> <td align="left" valign="middle"> <asp:Label ID="lblUserName" runat="server" Font-Bold="True" Font-Size="12pt"></asp:Label> <span style="font-size: 10pt; font-family: 宋体">]</span></td> <td align="right" valign="middle"> <span style="font-size: 10pt; font-family: 宋体">最后登录日期: </span> </td> <td align="left" valign="middle"> <asp:Label ID="lblLastLoginDate" runat="server" Font-Size="10pt">0000/00/00</asp:Label></td> </tr> </table> </td> </tr> <tr> <td style="width: 200px; ">

17

广东海洋大学寸金学院 2011 届毕业论文(设计) <table style="width: 209px; height: 25px;" > <tr> <td align="center" bgcolor="#B7CBEB"> 石材分类</td> </tr> </table> </td> <td> <asp:Label ID="message" runat="server" Width="589px" BackColor="#BACEED" Height="23px"></asp:Label> </td> </tr> <tr> <td style="vertical-align: top;"> <uc1:Sort ID="Sort1" runat="server" /> </td> <td style="width: 600px; text-align: center;" rowspan="2"> <asp:DataList ID="gvProductList" runat="server" RepeatColumns="2" RepeatDirection="Horizontal" Width="100%"> <ItemTemplate> <br /> <table style="width: 40%; height: 110px;"> <tr> <td rowspan="5" style="width: 80px" valign="top"> <asp:Image ID="ProductImage" runat="server" Height="75px" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Url")%>' Width="75px" /></td> <td align="center" style="width: 55px" valign="middle"> <asp:Label ID="Label1" runat="server" Font-Size="9pt" Text=" 品 名:"></asp:Label></td> <td align="left" style="width: 100px" valign="middle"> <a href='ProductDetails.aspx?ProductID=<%# DataBinder.Eval(Container.DataItem,"ProductID") %>' style="font-size: 9pt"> <%# DataBinder.Eval(Container.DataItem, "ProductName")%> </a> </td> </tr> <tr> <td align="center" style="width: 55px" valign="middle"> <asp:Label ID="Label2" runat="server" Font-Size="9pt" Text=" 产 地:"></asp:Label></td>

18

广东海洋大学寸金学院 2011 届毕业论文(设计) <td align="left" style="width: 100px" valign="middle"> <span style="font-size: 9pt"> <%# DataBinder.Eval(Container.DataItem, "ProduceArea")%> </span> </td> </tr> <tr> <td align="center" style="width: 55px" valign="middle"> <asp:Label ID="Label3" runat="server" Font-Size="9pt" Text=" 价 格:"></asp:Label></td> <td align="left" style="width: 100px" valign="middle"> <span style="font-size: 9pt"> <%# DataBinder.Eval(Container.DataItem, "UnitPrice")%> </span> </td> </tr> <tr> <td align="center" style="width: 55px" valign="middle"> <asp:Label ID="Label4" runat="server" Font-Size="9pt" Text=" 日 期:"></asp:Label></td> <td align="left" style="width: 100px" valign="middle"> <span style="font-size: 9pt"> <%# DataBinder.Eval(Container.DataItem, "IssueDate")%> </span> </td> </tr> <tr> <td align="center" colspan="2" valign="middle" style="height: 27px"> &nbsp;</td> </tr> </table> <br /> </ItemTemplate> <ItemStyle Width="300px" /> </asp:DataList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DZSWConnectionString %>" SelectCommand="SELECT [ProductName], [UnitPrice], [IssueDate], [Url] FROM [PRODUCT_INFO]"> </asp:SqlDataSource>

[ProduceArea],

19

广东海洋大学寸金学院 2011 届毕业论文(设计) <br /> 当前页: <asp:Label ID="Label5" runat="server"></asp:Label> <asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click">上一页</asp:LinkButton> <asp:LinkButton ID="LinkButton2" OnClick="LinkButton2_Click">下一页</asp:LinkButton> </td> </tr> <tr> <td style="vertical-align: top;"> <uc3:Search ID="Search1" runat="server" /> </td> </tr> <tr> <td style="height: 60px; width: 800px;" colspan="2"> <uc4:Footer ID="Footer1" runat="server" /> </td> </tr> </table> </div> </form> </body> </html>

runat="server" runat="server"

完成主页面设计后, 需要在隐藏文件 “index.aspx.cs” 中编写代码对 DataList 控件进行数据绑定, 代码如下所示: Index..aspx.cs 代码文件 using System; using System.Data; using System.Configuration; 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.Collections; public partial class _Default : System.Web.UI.Page { ArrayList orderList = new ArrayList(); protected void Page_Load(object sender, EventArgs e)

20

广东海洋大学寸金学院 2011 届毕业论文(设计) { if (!IsPostBack) { Session["style"] = "css/StyleSheet.css"; if (Session["User"] != null) { User user = (User)Session["User"]; lblUserName.Text = user.UserName; lblLastLoginDate.Text = user.LastLoginDate; } else { this.Table1.Visible = false; this.message.Visible = true; this.message.Text = "请先登录!"; } this.Label5.Text = "1"; Session.Add("currentPage", 1); BindProductData(); } } public void BindProductData() { //按条件显示商品列表 string productName = Request.Params["ProductName"]; string sortID = Request.Params["SortID"]; string produceArea = Request.Params["ProduceArea"]; string unitPriceFrom = Request.Params["UnitPriceFrom"]; string unitPriceTo = Request.Params["UnitPriceTo"]; string issueDateFrom = Request.Params["IssueDateFrom"]; string issueDateTo = Request.Params["IssueDateTo"]; string strsql = "SELECT * FROM PRODUCT_INFO WHERE 1=1 "; if (productName != null && productName != "") { strsql += "AND ProductName LIKE '%" + productName + "%' "; } if (sortID != null && sortID != "") { strsql += "AND SortID = " + sortID + " "; } if (produceArea != null && produceArea != "") { strsql += "AND ProduceArea = " + produceArea + " ";

21

广东海洋大学寸金学院 2011 届毕业论文(设计) } if (unitPriceFrom != null && unitPriceFrom != "") { strsql += "AND UnitPrice >= " + unitPriceFrom + " "; } if (unitPriceTo != null && unitPriceTo != "") { strsql += "AND UnitPrice <= " + unitPriceTo + " "; } if (issueDateFrom != null && issueDateFrom != "") { strsql += "AND IssueDate >= '" + issueDateFrom + "' "; } if (issueDateTo != null && issueDateTo != "") { strsql += "AND IssueDate <= '" + issueDateTo + "' "; } strsql += "ORDER BY IssueDate DESC"; PagedDataSource ps1 = new PagedDataSource(); ps1.DataSource = db.ds(strsql).DefaultView; ps1.AllowPaging = true; ps1.PageSize = 6; ps1.CurrentPageIndex = Convert.ToInt32(Session["currentPage"]) - 1; if (Convert.ToInt32(Session["currentPage"]) == 1) { this.LinkButton1.Enabled = false; } else { this.LinkButton1.Enabled = true; } if (Convert.ToInt32(Session["currentPage"]) == ps1.PageCount) { this.LinkButton2.Enabled = false; } else { this.LinkButton2.Enabled = true; } this.gvProductList.DataSource = ps1; this.gvProductList.DataKeyField = "ProductID"; this.gvProductList.DataBind(); } protected void LinkButton1_Click(object sender, EventArgs e) { Session["currentPage"] = Convert.ToInt32(Session["currentPage"]) - 1; this.Label5.Text = Session["currentPage"].ToString(); this.BindProductData(); }

22

广东海洋大学寸金学院 2011 届毕业论文(设计)

protected void LinkButton2_Click(object sender, EventArgs e) { Session["currentPage"] = Convert.ToInt32(Session["currentPage"]) + 1; this.Label5.Text = Session["currentPage"].ToString(); this.BindProductData(); } }

4.3.2 Login.ascx
Login.ascx 用户控件主要实现用户登录、注册、注销等功能。 Login.ascx“设计”视图如下所示:

图 4.3.2Login.ascx“设计”视图

Login.ascx 用户控件“设计”视图中添加的主要控件的属性如表 4.3.2 所示。
表 4.3.2 Login.ascx“设计”视图中添加控件及属性设置 控 件 类 型 Button HyperLink LinkButton 控 件 ID Button1 HyperLink1 LinkButton2 属性设置/控件用途 Text 属性设置为“登录” NavigateUrl 属性设置为“~/Reg.aspx” Text 属性设置为“注销”

WebUserControl/Login.ascx.cs 代码文件:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security;

23

广东海洋大学寸金学院 2011 届毕业论文(设计) using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.Text; using System.Security.Cryptography;

public partial class WebUserControl_Login : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) {

} protected void Button1_Click(object sender, EventArgs e) { string userName = this.UserName.Text.ToString().Trim(); string passWord = this.Password.Text.ToString().Trim(); User user = new User(); SqlDataReader Encrypt(Password.Text.Trim())); if (dr.Read()) { user = new User(dr["UserID"].ToString(), dr["LoginName"].ToString(), dr["UserName"].ToString(), dr["Email"].ToString(), dr["Address"].ToString(), dr["Telephone"].ToString(),
24

dr

=

user.GetUserLogin(UserName.Text.Trim(),

广东海洋大学寸金学院 2011 届毕业论文(设计) dr["RegionDate"].ToString(), dr["LastLoginDate"].ToString().Substring(0, 10)); Session["User"] = user; Response.Redirect("index.aspx"); } else { Session["User"] = null; Response.Write("<script>alert(' 输 入 的 用 户 名 或 密 码 不 正 确 , 请 重 新 输 入!');this.location = 'index.aspx'</script>"); } dr.Close(); } public static String Encrypt(string password) { Byte[] clearBytes = new UnicodeEncoding().GetBytes(password); Byte[] hashedBytes =

((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes); return BitConverter.ToString(hashedBytes); } protected void LinkButton2_Click(object sender, EventArgs e) { Session["User"] = null; Session["OrderList"] = null; Response.Redirect("index.aspx"); } }

4.3.3 Sort.ascx

25

广东海洋大学寸金学院 2011 届毕业论文(设计)

Sort.ascx 用户控件主要实现商品分类显示。 Sort.ascx“设计”视图如下所示:

图 4.3.3Sort.ascx“设计”视图

WebUserControl/Sort.ascx.cs 代码文件:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class WebUserControl_Sort : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { DataTable dtSortList = Sort.GetSortList(); sortList.DataSource = dtSortList; sortList.DataBind(); } }

数据绑定后,还需要对 GridView 进行编辑,以控制数据项的显示方式。设置如下图 所示:

26

广东海洋大学寸金学院 2011 届毕业论文(设计)

首先,双击 HyperLinkField 添加字段,然后将右边属性栏内的 DataNavigateUrlFields 属 性 设 置 为 “ SortID ” 字 段 , 将 DataNavigateFormatString 属 性 设 置 为 “~/index.aspx?SortID={0}” ,最后将 DataTextField 属性设置为“SortName”字段。 完成编辑后,Sort.ascx 用户控件的“源”视图中,相关代码应如下所示:
<asp:GridView ID="sortList" runat="server" AutoGenerateColumns="False" Font-Size="10pt" Width="170px" Height="172px" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None"> <Columns> <asp:HyperLinkField DataNavigateUrlFields="SortID" DataNavigateUrlFormatString="~/index.aspx?SortID={0}" DataTextField="SortName" HeaderText="石材分类" /> </Columns> <FooterStyle BackColor="Tan" /> <RowStyle HorizontalAlign="Center" VerticalAlign="Top" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView>

4.3.4 Search.ascx
Search.ascx 用户控件主要实现按条件查询商品信息。 Search.ascx“设计”视图如下所示:

27

广东海洋大学寸金学院 2011 届毕业论文(设计)

4.3.4Search.ascx“设计”视图

Search.ascx 用户控件“设计”视图中添加的主要控件的属性如表 4.3.4 所示。
表 4.3.4 Search.ascx“设计”视图中添加控件及属性设置 控 件 类 型 TextBox DropDownList TextBox TextBox TextBox TextBox TextBox Button 控 件 ID tbxProductName ddlSort tbxProduceArea tbxUnitPriceFrom tbxUnitPriceTo tbxIssueDateFrom tbxIssueDateTo btnSearchs 属性设置/控件用途 输入查找的商品名称 显示商品的分类 输入商品的产地 输入商品价格下限 输入商品价格上限 输入商品的发布日期下限 输入商品的发布日期上限 Text 属性设置为“搜索”

添加完成后,还需对 ddlSort 控件进行数据绑定,如下面图组所示: 1.单击 ddlSort 控件上的 按钮,弹出下图

点击“选择数据源” ,进入数据 源配置向导,选择“<新建数据源>”选项—>选择“数据库” ,数据源指定 ID 为 SqlDataSourcel,单击“确定”按钮,进入配置数据源—SqlDataSourcel 界面,下拉选 项菜单,选择已有的数据连接“DZSWConnectionString”—>选择“SORT_INFO”表, 选择列勾选“*”复选框,表示从表中选择所有列—>测试查询,得到下图:
28

广东海洋大学寸金学院 2011 届毕业论文(设计)

单击“完成”按钮 选择数据源中如下图所示

WebUserControl/Search.ascx.cs 代码文件:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web;

29

广东海洋大学寸金学院 2011 届毕业论文(设计) using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class WebUserControl_Search : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { } protected void btnSearch_Click(object sender, EventArgs e) { string strUrl = "~/index.aspx?"; if (tbxProductName.Text != "") { strUrl += "ProductName=" + Server.HtmlEncode(tbxProductName.Text) + "&"; } if (ddlSort.SelectedIndex > -1) { strUrl += "SortID=" + Server.HtmlEncode(ddlSort.SelectedValue) + "&"; } if (tbxProduceArea.Text != "") { strUrl += "ProduceArea=" + Server.HtmlEncode(tbxProduceArea.Text) + "&"; } if (tbxUnitPriceFrom.Text != "") { strUrl += "UnitPriceFrom=" + Server.HtmlEncode(tbxUnitPriceFrom.Text) + "&"; } if (tbxUnitPriceTo.Text != "") { strUrl += "UnitPriceTo=" + Server.HtmlEncode(tbxUnitPriceTo.Text) + "&"; } if (tbxIssueDateFrom.Text != "") { strUrl += "IssueDateFrom=" + Server.HtmlEncode(tbxIssueDateFrom.Text) + "&"; } if (tbxIssueDateTo.Text != "") { strUrl += "IssueDateTo=" + Server.HtmlEncode(tbxIssueDateTo.Text) + "&";

30

广东海洋大学寸金学院 2011 届毕业论文(设计) } strUrl = strUrl.Substring(0, strUrl.Length - 1); Response.Redirect(strUrl); } }

4.3.5 Footer.ascx
Footer.ascx 用户控件主要实现显示页脚。 Footer.ascx“设计”视图如下所示:

4.3.5Footer.ascx“设计”视图

WebUserControl/Footer.ascx 代码文件:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Footer.ascx.cs" Inherits="WebUserControl_Foot" %> <table style="width: 800px; height: 60px; font-size:9pt;" border="1" cellpadding="0" cellspacing="0"> <tr> <td style="text-align: center; width:800px;"> <asp:HyperLink ID="hpLinkCom" runat="server" Font-Underline="False" ForeColor="Black" NavigateUrl="http://www.gdcjxy.com/">广东海洋大学寸金学院</asp:HyperLink> &nbsp;&nbsp;邮箱:xiejiacheng44@163.com&nbsp; 手机:13725812844<br /> @2006-2010&nbsp; 谢嘉诚&nbsp;</td> </tr> </table>

4.4 商品详细信息(ProductDetails.aspx)
当用户在页面中点击商品名称的超链接时,可以通过“ProductDetails.aspx”页面浏览该 商品的详细信息,该页面主要部分设计效果如图 4.4 所示。

31

广东海洋大学寸金学院 2011 届毕业论文(设计)

图 4.4“ProductDetails.aspx”页面主要部分“设计”视图

该部分主要用到的控件及用途如表 4.4 所示。
表 4.4 控 件 类 型 Label Label Label Label Image TextBox ProductDetails.ascx“设计”视图中添加控件及属性设置 控 件 ID lblName lblProductArea lblPrice lblIssueDate ProductImage tbxDescription 属性设置/控件用途 显示商品名称 显示商品产地 显示商品价格 显示上架日期 显示商品图片 显示商品简介

“ProductDetails.aspx”页面主要部分在“源”视图中具体代码如下。
<table style="width: 528px; height: 97%"> <tr>
32

广东海洋大学寸金学院 2011 届毕业论文(设计) <td align="center" rowspan="4" style="width: 200px" valign="middle"> <asp:Image ID="ProductImage" runat="server" Height="160px" Width="160px" /></td> <td align="right" style="width: 100px" valign="top"> <br /> <asp:Label ID="Label5" runat="server" Font-Bold="True" Font-Size="12pt" Text="商品名称:"></asp:Label></td> <td align="left" style="width: 250px" valign="top"> <br /> &nbsp; &nbsp; <asp:Label ID="lblName" runat="server" Font-Size="11pt"></asp:Label></td> </tr> <tr> <td align="right" style="width: 100px; height: 40px" valign="top"> <br /> <asp:Label ID="Label6" runat="server" Font-Bold="True" Font-Size="12pt" Text="生产地:"></asp:Label></td> <td align="left" style="width: 250px; height: 40px" valign="top"> <br /> &nbsp; &nbsp; <asp:Label ID="lblProductArea" runat="server" Font-Size="11pt"></asp:Label></td> </tr> <tr> <td align="right" style="width: 100px" valign="top"> <br /> <asp:Label ID="Label8" runat="server" Font-Bold="True" Font-Size="12pt" Text="商品售价:"></asp:Label>
33

广东海洋大学寸金学院 2011 届毕业论文(设计) </td> <td align="left" style="width: 250px" valign="top"> <br /> &nbsp; &nbsp; <asp:Label ID="lblPrice" runat="server" Font-Size="11pt"></asp:Label></td> </tr> <tr> <td align="right" style="width: 100px" valign="top"> <br /> <asp:Label ID="Label7" runat="server" Font-Bold="True" Font-Size="12pt" Text="上架日期:"></asp:Label><br /> </td> <td align="left" style="width: 250px" valign="top"> <br /> &nbsp; &nbsp; <asp:Label ID="lblIssueDate" runat="server" Font-Size="11pt"></asp:Label><br /> </td> </tr> <tr> <td align="left" colspan="3" valign="top"> <br /> &nbsp; &nbsp; <asp:Label ID="Label9" runat="server" Font-Bold="True" Font-Names="华文细黑" Font-Size="12pt" Text="产品简介:"></asp:Label></td> </tr> <tr> <td align="left" colspan="3" valign="top" style="height: 453px">
34

广东海洋大学寸金学院 2011 届毕业论文(设计) <br /> <asp:TextBox ID="tbxDescription" runat="server" BorderWidth="0px" ReadOnly="True" Rows="25" TextMode="MultiLine" Width="523px" Height="424px" BackColor="#FFFFCC"></asp:TextBox></td> </tr> </table>

WebUserControl/ ProductDetails.ascx.cs 代码文件:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq;

public partial class ProductDetails : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = new DataTable(); // 获取指定 ID 的商品详细信息

35

广东海洋大学寸金学院 2011 届毕业论文(设计) if (Request.Params["ProductID"] != null) { dt = Product.GetProductDetailByID(Request.Params["ProductID"].ToString()); } // 填充画面 if (dt.Rows.Count > 0) { ProductImage.ImageUrl = dt.Rows[0]["Url"].ToString(); lblName.Text = dt.Rows[0]["ProductName"].ToString(); lblProductArea.Text = dt.Rows[0]["ProduceArea"].ToString(); lblPrice.Text = dt.Rows[0]["UnitPrice"].ToString(); lblIssueDate.Text = dt.Rows[0]["IssueDate"].ToString(); tbxDescription.Text = dt.Rows[0]["Description"].ToString(); } else { Response.Redirect("~/index.aspx"); } } } }

4.5 用户注册(Reg.aspx)
用户可以通过注册页面在网站中注册一个新用户,该页面主要部分设计效果如图 4.5 示。

36

广东海洋大学寸金学院 2011 届毕业论文(设计)

图 4.Reg.aspx”页面主要部分“设计”视图

该页涉及的控件及用途如表 4.5 示。
表 4.4 控 件 类 型 TextBox TextBox TextBox TextBox TextBox TextBox TextBox Button Button Button Label Label RequiredFieldValidator Reg.ascx“设计”视图中添加控件及属性设置 控 件 ID LoginName UserName Password Confirm Email Address Telephone btnReg btnCancel Button1 lblCheckPass lblCheckFaile rfvLoginName 属性设置/控件用途 输入登录名 输入用户名 输入密码 输入确认密码 输入电子邮箱 输入联系地址 输入联系电话 Text 属性设置为“注册” Text 属性设置为“重置” Text 属性设置为“返回” Text 属性设置为“**该用户名可使用” Text 属性设置为“**该用户名已存在 ControlToValidate 属 性 设 置 为 “LoginName” ErrorMessage 属性设置 , 为“**请输入登录名”

37

广东海洋大学寸金学院 2011 届毕业论文(设计) ControlToValidate 属 性 设 置 为 “UserName” ,ErrorMessage 属性设置 为“**请输入用户名” ControlToValidate 属 性 设 置 为 “Password” ,ErrorMessage 属性设置 为“**请输入密码” ControlToCompare 属 性 设 置 为 “Confirm” ControlToValidate 属性 , 设置为“Password” ,ErrorMessage 属 性设置为“**密码确认出错” ControlToValidate 属 性 设 置 为 “E-mail” ,ErrorMessage 属性设置为 “ **E-mail 输 入 格 式 出 错 ”, ValidationExpression 属性通过正则 表达式编辑器设置为 “Internet 电子邮 件地址”

RequiredFieldValidator

rfvUserName

RequiredFieldValidator

rfvPassword

CompareValidator

cvConfirm

RegularExpressionValidator

revEmail

“Reg.aspx”页面主要部分在“源”视图中具体代码如下:
<table border="0" style="width: 535px"> <tr> <td align="right" style="width: 174px; height: 26px"> </td> <td style="height: 26px"> </td> </tr> <tr> <td align="right" style="width: 174px; height: 26px"> </td> <td style="height: 26px"> </td> </tr> <tr> <td align="right" style="width: 174px; height: 33px"> 登录名:</td> <td style="height: 33px">

38

广东海洋大学寸金学院 2011 届毕业论文(设计) <asp:TextBox runat="server"></asp:TextBox> <asp:Label ID="lblCheckPass" runat="server" ID="LoginName"

Font-Names="幼圆" Font-Size="10pt" ForeColor="Red" Text="** Visible="False"></asp:Label><br /> <asp:Label ID="lblCheckFaile" runat="server" 该 用 户 名 可 使 用 "

Font-Names="幼圆" Font-Size="10pt" ForeColor="Red" Text="** Visible="False"></asp:Label> <asp:RequiredFieldValidator runat="server" ControlToValidate="LoginName" Display="Dynamic" ErrorMessage="**请输入登录 名" Font-Names="幼圆" Font-Size="10pt"></asp:RequiredFieldValidator></td> </tr> <tr> <td align="right" style="width: 174px; height: 33px"> 用户名:</td> <td style="height: 33px"> <asp:TextBox runat="server"></asp:TextBox> <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" Display="Dynamic" ErrorMessage="**请输入用户 名" Font-Names="幼圆" Font-Size="10pt"></asp:RequiredFieldValidator></td> </tr> <tr> <td align="right" style="width: 174px; height: 33px"> 密码:</td> <td style="height: 33px">
39















"

ID="rfvLoginName"

ID="UserName"

ID="rfvUserName"

广东海洋大学寸金学院 2011 届毕业论文(设计) <asp:TextBox runat="server"></asp:TextBox> <asp:RequiredFieldValidator runat="server" ControlToValidate="Password" ErrorMessage="**请输入新密码" Font-Names="幼 圆" Font-Size="10pt"></asp:RequiredFieldValidator></td> </tr> <tr> <td align="right" style="width: 174px; height: 33px"> 确认密码:</td> <td style="height: 33px"> <asp:TextBox runat="server"></asp:TextBox> <asp:CompareValidator ID="cvConfirm" ID="Confirm" ID="rfvPassword" ID="Password"

runat="server" ControlToCompare="Confirm" ControlToValidate="Password" ErrorMessage="**密码确认出错" Font-Names="幼 圆" Font-Size="10pt"></asp:CompareValidator></td> </tr> <tr> <td align="right" style="width: 174px; height: 33px"> 邮箱:</td> <td style="height: 33px"> <asp:TextBox runat="server"></asp:TextBox> <asp:RegularExpressionValidator runat="server" ControlToValidate="Email" ErrorMessage="**E-mail Font-Names=" 幼 圆 " 输 入 格 式 出 错 " Font-Size="10pt" ID="revEmail" ID="Email"

ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularEx pressionValidator></td>
40

广东海洋大学寸金学院 2011 届毕业论文(设计) </tr> <tr> <td align="right" style="width: 174px; height: 33px"> 送货地址:</td> <td style="height: 33px"> <asp:TextBox Width="215px"></asp:TextBox></td> </tr> <tr style="color: #000000"> <td align="right" style="width: 174px; height: 33px"> 联系电话:</td> <td style="height: 33px"> <asp:TextBox Width="215px"></asp:TextBox></td> </tr> <tr style="color: #000000"> <td align="right" style="width: 174px; height: 33px"> <asp:Button OnClick="btnReg_Click" Text="注 册" /></td> <td style="height: 33px"> &nbsp;&nbsp;<asp:Button runat="server" OnClick="btnCancel_Click" Text="重 置" />&nbsp; <asp:Button CausesValidation="False" OnClick="Button1_Click" Text="返 回" /></td> </tr> <tr> <td align="right" style="width: 174px"> </td> <td>
41

ID="Address"

runat="server"

ID="Telephone"

runat="server"

ID="btnReg"

runat="server"

ID="btnCancel"

ID="Button1"

runat="server"

广东海洋大学寸金学院 2011 届毕业论文(设计) &nbsp;</td> </tr> </table>

WebUserControl/ Reg.ascx.cs 代码文件:
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.Data.SqlClient; using System.Text; using System.Security.Cryptography; public partial class Reg : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } public static String Encrypt(string password) { Byte[] clearBytes = new UnicodeEncoding().GetBytes(password); Byte[] hashedBytes ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes); return BitConverter.ToString(hashedBytes); } protected void btnReg_Click(object sender, EventArgs e) { User user = new User(); bool flag = user.RegUser(LoginName.Text.Trim(), UserName.Text.Trim(), Encrypt(Password.Text.Trim()), Email.Text.Trim(), Address.Text.Trim(), Telephone.Text.Trim()); if (flag == true) { Response.Write("<script>alert('注册成功!');this.location='index.aspx'</script>"); }

=

42

广东海洋大学寸金学院 2011 届毕业论文(设计) else { Response.Write("<script>alert('注册失败!');this.location='index.aspx'</script>"); } } protected void btnCancel_Click(object sender, EventArgs e) { LoginName.Text = ""; UserName.Text = ""; Password.Text = ""; Email.Text = ""; Address.Text = ""; Telephone.Text = ""; } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("index.aspx"); } }

第5章
5.1 测试的必要性
5.1.1 目的:

测试

建成的网站是否达到了设计的规划,是否满足了业务流程的要求,客户界面是否 友好,操作是否简单,输入与输出的数据信息是否准确流畅等问题,都必须经过一定 的测试来解决。所以,正式推出电子商务网站前的测试是十分必要的。当然,在创建 网站内容与开发管理系统过程中会有大量的调试, 但是这些无论如何都不能代替总体 的测试。测试的内容包括速度、兼容性、交互性、链接正确性、程序健壮性、超流量 测试等,如果发现问题及时解决并记录下来。测试的途径有许多种,如果是自己做的 网站,可以请内部员工模拟测试,请合作伙伴帮助测试,或请目标客户模拟测试等; 如果是外包给开发商做的网站,除了上述测试途径外,还可以与开发商共同测试。

5.1.2 方法:
从是否需要执行被测软件的角度划分,可分为静态测试和动态测试 从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和

43

广东海洋大学寸金学院 2011 届毕业论文(设计)

黑盒测试

5.2 测试成果
经过对石材网展示商务网站系统的测试基本符合了最初的设计目标,实现了界面 设计美观友好; 信息查询灵活、方便、快捷、准确,数据存储安全可靠; 全面展示商 城内所有商品,并可以展示最新商品,系统最大限度地实现易维护性和易操作性.

5.3 存在的问题
1、系统特别是数据库的稳定性方面还要进一步加强; 2、 因时间问题,在网站的可扩展性方面做的不是很好,后期的维护和进一步完善变 的更加重要。

44

广东海洋大学寸金学院 2011 届毕业论文(设计)

结束语

经过了一段时间的学习和工作, 我终于完成了 《石材展示电子商务网站》 的论文。 从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步对我来说都是新 的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到 了很多知识也有很多感受,从对电子商务网站一无所知,对 ASP,ADO 等相关技术很 不了解的状态,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中 模糊的概念逐渐清楚,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习 的收获,每一次试验的成功都会让我高兴好一段时间。 通过这段时间的毕业设计,我能够融会贯通这几年所学的专业基础知识和专业理 论知识,对当前计算机软、硬件技术的发展有了进一步地了解和认识,培养我们综合 运用专业知识分析、 解决问题的能力及运用工具软件的能力。 在本网站的开发过程中, 进一步明确了研制一个网站系统的方法和思路, 将系统开发的各阶段的基本活动贯穿 起来,使我更加形象、具体的了解了网站系统。网站的开发过程使我巩固了以前所学 的计算机知识,也掌握新技能,受益匪浅。 在开发本石材网的过程中,也遇到了很大的困难。由于时间和能力方面的原因, 我的网站系统也存在一定的缺陷,比如数据库的稳定性和网站扩展性等方面,还请老 师谅解和给予批评指教。

45

广东海洋大学寸金学院 2011 届毕业论文(设计)





在我的毕业设计与论文完成过程中,得到了很多人的帮助与支持。首先,最感谢 的是我的指导老师师王军民老师,他以严谨的治学态度、做研究全力以赴的精神,对 我毕业设计和论文的写作给予悉心指导,提出了许多批评建议,使个人的毕业设计和 论文得以如期完成,在此致上最真挚的谢意。 也谢谢大学所有教导过我的老师,谢谢你们四年来的悉心教导与关心爱护。感谢 培养教育我的母校—广东海洋大学寸金学院! 最后,感谢我亲爱的家人,感谢他们在生活及情感上的容忍及包容,在我完成论 文的学习生活中,默默的支持着我。

46

广东海洋大学寸金学院 2011 届毕业论文(设计)

参考文献
[1]韩海雯 吕辉 张广新 宋佳、 程序设计—ASP.NET[M]、 Web 北京、 人民邮电出版社、 2008。 [2]缪勇 李新峰 张光桃、亮剑.NET:图解 ASP.NET 网站开发实战[M]、北京、电子工 出版社、2009。 [3]温谦、CSS 设计彻底研究[M]、北京、人民邮电出版社、2009。 [4]王小科 吕双、C#从入门到精通[M]、北京、清华大学出版社、2008。

47


相关文章:
02 笔业论文(范文套用).doc
02 笔业论文(范文套用) - 广东海洋大学寸金学院 毕业论文(设计) 毕业论文(设计) 论文题目: 石材展示电子商务网站 Stone shows e-commerce sites 系专班...
02本科生毕业论文范文样式及装订顺序.doc
02本科生毕业论文范文样式及装订顺序_工学_高等教育_教育专区。上海立信会计金融学院 本科生毕业论文用黑色或蓝 色水笔手写 论文题目:___ 教学点 学生姓名 指导教...
毕业论文体例及范文.doc
毕业论文体例及范文_行政公文_工作范文_实用文档。毕业论文 保密类别 编 号 ...02 Chapter Two Literature Review 2.1 Definitions ??? 03 2.1.1 The Concept...
02专科毕业论文模板.doc
02专科毕业论文模板 - 青岛农业大学成人高等教育 毕业论文(设计) 题姓学年层
毕业论文参考范文讲解.doc
毕业论文参考范文讲解_幼儿读物_幼儿教育_教育专区。毕业论文参考范文讲解 莆田学院毕业论文 论文题目:学院: 专业年级: 学姓号: 名: 指导教师、职称: 莆田学院毕业...
【精选】中文系毕业论文范文_图文.ppt
【精选】中文系毕业论文范文_PPT模板_实用文档。【精选】中文系毕业论文范文。...02 研究意义 SIGNIFICANCE 添加标题 添加标题 添加标题 添加标题 毕业论文答辩是...
毕业论文开题报告范文.doc
毕业论文开题报告范文 [1]毕业论文开题报告开题报告是指开题者对科研课题的一种...毕业论文开题报告范文,如何下载 2018-06-22 02:53:42 毕业论文开题报告范文,...
金融毕业论文范文.doc
金融毕业论文范文_经济学_高等教育_教育专区。毕业论文(设计) 题 目 我国商业
毕业论文范文(二).doc
毕业论文范文(二) - LUOYANG NORMAL UNIVERSITY 2009 届本科毕业论文 洛阳师范学院体育学院教学现状的调查与分析 院(系)名称 专学学指完导成教 ...
【精选】会计毕业论文范文模板_图文.ppt
【精选】会计毕业论文范文模板_PPT模板_实用文档。【精选】会计毕业论文范文模板...而学生不仅要证明自己的论点是对的,而且还要证明老师是错的 地区 现状 02 研究...
中医专业毕业论文格式及范文.doc
中医专业毕业论文格式及范文_工学_高等教育_教育专区。毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文 ...
(完整版)中医专业毕业论文格式及范文.doc
(完整版)中医专业毕业论文格式及范文 - 单片机论文,毕业设计,毕业论文,单片机
护士毕业论文范文5000.doc
护士毕业论文范文 5000 【篇一:护理本科毕业论文 5000 字】踝关节由胫腓
最新毕业论文答辩稿范文.doc
最新毕业论文答辩稿范文 2018-06-23 02:33:32 很好,最新毕业论文答辩稿范文...20页 5下载券 2套经典毕业论文答辩ppt... 19页 1下载券 ...
工商管理专业(专科)毕业论文范文.doc
工商管理专业(专科)毕业论文范文_文学_高等教育_教育...(二)施工技术的完整性,科学性差 一套科学而选进...文档贡献者 神似林夕 贡献于2016-03-02 相关文档...
工业设计专业毕业论文范文(第二章)_图文.doc
工业设计专业毕业论文范文(第二章) - 由于论文过大,分为几个章节分次上传... 工业设计专业毕业论文范文(第二章)_设计/...设计的双人套座, 这款设计可以满 足双...
广告毕业论文范文.txt
广告毕业论文范文 一、引言 论文发表 随着全球经济一体化趋势的日益显著,国际营销...套用此成语的还有碧丽牌健美苗条霜广告: Bili slimming cream 一Using is ...
优秀毕业论文答辩PPT范文(29)_图文.ppt
优秀毕业论文答辩PPT范文(29) - XXX学院XXX专业 毕业论文答辩 《请在此位置添加你的论文名称》 指导老师:当场出彩 报告人:是是是 01 02 03 04 05 06 PAR...
毕业论文任务书范文.doc
毕业论文任务书范文_工学_高等教育_教育专区。毕业论文任务书院系 经济管理学院 专业 信息管理与信息系 学号 统 AP0803623 姓名 林沛钊 1、毕业论文题目:苹果...
(电大毕业论文范文)本科生毕业论文范文浅谈化工设备设....txt
本科生毕业论文范文浅谈化工设备设计计算理由::---[更多资料来源于论文保过--