江苏开放大学ASP.Net开发技术(专)第四次形考作业

微信小程序
资源下载
下载价格10

作业说明:

1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。

2.学习完本课程第1-7单元内容之后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形式提交系统设计报告,另以附近的形式提交系统源代码,本次作业占形成性考核总成绩的30%。

作业内容:

综合运用前面所学内容,创建一个产品在线订购系统,支持产品信息管理、库存管理、在线订购、在线审批、订单跟踪等功能。通过本次作业,你将掌握一个独立的Web网站从设计到实现的开发流程和基本方法,同时全面巩固全书所学内容。

1. 题目:产品在线订购系统的设计与实现

2. 具体要求如下:

序号

系统内容

功能要求

1

产品在线订购系统的创建

应用程序命名规范

正确创建ASP.NET应用程序

正确打开已有的ASP.NET应用程序

正确新建ASP.NET页面

正确编译运行并调试ASP.NET 应用程序

2

项目分析与总体设计

正确表述网上商城的需求

使用原型设计工具设计完成网站原型

3

用户管理

正确选择控件(Web控件、验证控件)

界面合理与美观

控件命名规范

Web控件属性设置正确

验证控件属性设计正确

验证控件简单的正则表达式设置正确

事件选择正确

代码逻辑正确

代码规范

编译、运行

使用ADO.NET对象编程完成用户登录

使用数据库操作类完成数据的增删改

能够生成验证码

能够显示验证码

能够保存验证码的值

能够完成验证码的校验

能够在页面中正确添加FileUpLoad控件,完成界面的设计

能够将文件上传到指定文件夹中

能够完成文件修改界面设计

能够完成文件存放位置的修改

能够对文件重新命名

4

商品管理

能够完成数据绑定

能够使用数据显示控件与数据操作类实现商品分栏显示

能够使用Repeat数据控件显示查询结果

能够使用显示控件和数据操作类实现商品上架

能够使用数据操作类实现商品修改

5

在线购物与留言板

网站整合与发布

能够使用状态管理技术实现对用户状态管理

能够使用数据库实现购物车技术

能够使用数据库技术和FormView等数据显示控件实现对订单的管理

能够完成留言功能并借助第三方控件完善此功能

能够使用分页技术显示留言

能够显示格式统一的留言内容

能够使用Repeater控件实现对留言的管理

能够使用调试技术将各功能模块进行整合

能够使用常见优化技术对网站进行优化

能够正确配置IIS

能够将站点架设到IIS

能够使用跟踪技术进行调试

能够完成项目的打包

能够正常安装项目

 

3. 提交内容与方式

1)系统设计报告(附在本文档中提交);

2)系统源代码(打包以附件的形式提交)。

4. 课程大作业报告格式样例

1) (题目)产品在线订购系统设计报告

(字数以2000左右为宜。请选用A4格式纸张。版面边距上下均为2.3cm,左边距1.8cm,右边距1.7cm。所有内容包含图像及表格等必须置于版面边界内。)

2)具体内容

(1) 系统概述

(2) 开发环境与开发工具简介

(3) 系统需求分析

a) 总体需求

a) 业务分析

b) 非功能性需求

c) 功能分析

(4) 数据结构设计

a) 物理模型设计

b) 数据字典

(5) 系统实现

a) 数据库操作类

b) 数据实体类

c) 实体操作类

d) 产品在线订购系统登录页面

e) 产品在线订购系统主页面

f) 产品在线订购功能实现

(6) 小结

3)格式要求

(1) 正文文字

正文文字为宋体、小五号、单倍行距。

每段首行皆自左内缩2个中文字符,其余行靠左开始。所有正文皆左右对齐。

(2) 标题层级

一级标题用一、二、三……依次排序,黑体,五号,粗体,段前段后间距各0.5行;左对齐。

二级标题用1,2,3……依次排序,宋体,小五号,粗体;自左内缩2个中文字符。

三级标题用(1),(2),(3)依次排序,宋体,小五号。自左内缩2个中文字符。

仅限三级标题。数字与正文之间间隔一个空白的中文字符,不需要添加标点符号。

(3) 图片表格

文中只附必要的图和表,图表切忌与文字表述重复。

图和表的设计应清晰、美观、简洁,切忌变形和模糊,应尽量使用word绘制,保证图片清晰。

图和表的宽度半栏不超过8cm和通栏不超过16cm。

图表所用文字一律用6号字,中文用宋体,英文和数字用Times New Roman,英文内容需加中文对照;表格首行为黑体,加粗。

按图或表出现的先后顺序分别编号:图1、图2、图3……和表1、表2、表3……。图表序号与名称之间空一中文字符。

说明性资料应置于图(表)下方注释中,并在注明图表中使用的全部非公知公用的缩写及表中的统计学处理。

序号与图名标注在图下居中位置,楷体,小五,粗体,段落间距设为段后0.5行。

Application & Interface

SaaS

Server & Middleware

PaaS

Hypervisor Management

OS & Virtualization

IaaS

Physical Hardware

图1  MVC架构模式

图2  北京科技大学教学评估、电子监考系统拓扑图

(4)表格

推荐用Word自带表格功能,切忌以图代表。半栏表宽不超过8cm;通栏表宽不超过16cm;。序号与表名标注在表上居中位置,楷体,小五,粗体,段落间距设为段前0.5行,段后0.5行。标注放在表格下方,注文前加“附注:”或“注:”、“说明:”等字符,注文内容楷体,小五。如下表1所示:

表1  学生选择喜欢的新课导入方式的比例(%)

(表头,黑体,小五,粗体,居中。背景灰色10%。表格内容,宋体,小五,居中。)

导入方法

临床本科

( n = 144 )

预防本科

( n = 7 )

检验本科

( n = 11 )

临床大专

( n = 317 )

护理大专

( n = 53)

设问激疑

82.1

79.4

84.2

74.4

66.3

归纳诱导

84.6

76.2

80.1

83.3

79.2

病案导入

94.3

84.7

90.2

92.5

85.8

承前启后

70.4

72.5

88.4

80.3

70.4

注:①这是表注1的内容

    ②这是表注2的内容

 (5)脚标注

如需引用非公开出版物或作其它注释,按在同页出现的先后次序,在当页做脚标注。

5. 评分标准(满分100分)

序号

系统内容

指标

1

1网上商城站点的创建

应用程序命名规范(2分)

正确创建ASP.NET应用程序(2分)

正确打开已有的ASP.NET应用程序(2分)

正确新建ASP.NET页面(2分)

正确编译运行并调试ASP.NET 应用程序(2分)

2

2项目分析与总体设计

正确表述网上商城的需求(5分)

使用原型设计工具设计完成网站原型(5分)

3

1用户登录与注册UI设计

正确选择控件(Web控件、验证控件)(1分)

界面合理与美观(1分)

控件命名规范(1分)

Web控件属性设置正确(1分)

验证控件属性设计正确(1分)

验证控件简单的正则表达式设置正确(1分)

事件选择正确(1分)

代码逻辑正确(1分)

代码规范(1分)

编译、运行(1分)

2用户注册与登陆功能设计

使用ADO.NET对象编程完成用户登录(2分)

使用数据库操作类完成数据的增删改(2分)

能够生成验证码(2分)

能够显示验证码(1分)

能够保存验证码的值(2分)

能够完成验证码的校验(1分)

3.文件操作

能够在页面中正确添加FileUpLoad控件,完成界面的设计(2分)

能够将文件上传到指定文件夹中(2分)

能够完成文件修改界面设计(2分)

能够完成文件存放位置的修改(2分)

能够对文件重新命名(2分)

4

商品管理

能够完成数据绑定(2分)

能够使用数据显示控件与数据操作类实现商品分栏显示(2分)

能够使用Repeat数据控件显示查询结果(2分)

能够使用显示控件和数据操作类实现商品上架(2分)

能够使用数据操作类实现商品修改(2分)

5

在线购物

能够使用状态管理技术实现对用户状态管理(4分)

能够使用数据库实现购物车技术(3分)

能够使用数据库技术和FormView等数据显示控件实现对订单的管理(3分)

6

留言板

能够完成留言功能并借助第三方控件完善此功能(3分)

能够使用分页技术显示留言(3分)

能够显示格式统一的留言内容(2分)

能够使用Repeater控件实现对留言的管理(2分)

能够完成项目的打包(2分)

能够正常安装项目(2分)

7

网站整合

能够使用调试技术将各功能模块进行整合(5分)

能够使用常见优化技术对网站进行优化(5分)

8

网站发布

能够正确配置IIS(2分)

能够将站点架设到IIS(2分)

能够使用跟踪技术进行调试(2分)

能够完成项目的打包(2分)

能够正常安装项目(2分)

5. 系统设计报告(如下)

 

系统设计报告

 

 

系统概述

随着网络技术的日趋成熟,Internet 变成了一种处理日常事务的交互式的环境。在互联网上开展各种服务已经成为许多企业和部门的急切需求。从传统行业到新兴的电子商务(Electronic Commerce 或 Electronic Business),基于 Web 技术的应用极大地改变着传统的服务模式。因此,Web 己成为社会信息交流的一个平台, Web 的普遍使用已经从根本上改变了人们的生活方式、工作方式,也改变了企业的经营方式和服务方式。越来越多的公司、企业以及政府希望通过利用国际互联网所提供的无地域、无国界、无时间限制的便利信息环境来开发自己的 Web应用。

基于数码产品的电子商务网站的设计融合了电子商务网站的购物特性和门户网站的个性化特性,成为最新网站技术的热点。对中小企业来说不可能有大量的资金投入构建电子商务网站。那么,如何充分利用现有资源、尽量减少专业技术人员的投入、对网站的维护和更新也不需要大量的人力、物力和财力已成为中小企业开展网上业务的关键。同时,中小企业的电子商务网站能否盈利,很大一部分因素将取决于其网站的个性化特性。因此对电子商务门户网站的研究将有助于我国中小企业开展网上商务。对促进电子商务在中国的快速发展有一定的实际意义。

因特网与电子商务因特网最大的优势就是它将分布在世界各地的、彼此孤立的资源有效地组织起来,在世界范围内实现高效的信息传递和资源共享。因特网消除了地域对于信息传递的局限,也为企业向客户推销自己的产品提供了全新的舞台,成为商业竞争的新战场,更为资本寻求最佳的资源配置和经营运作手段创造了更为广阔的活动空间,便于资本在全球范围追逐利润。由因特网快速蔓延带来的信息全球化、经济全球化必将导致生产制造的全球化和生产资料的全球化再分配。由于新兴经济的增长、跨国公司的形成、设计和生产能力的分散,利用国外的设计和生产厂商等因素,许多企业正在变成一种越来越集成化的全球系统。信息、资金、材料、零部件、成员和工人已经打破国家和地区的界限,生产制造能力已经发展成为一种商品。因此,透过因特网,人们开始从价值流的角度重新审视企业的运营模式以及其资源的分布和配置,并由此派生出一种新型的商务操作模式一电子商务。早在二十年前,商贸界在盛行“电子单证”的时候便有了电子商务的雏形,随着网络技术的发展和社会经济模式的飞速变化,继而出现了ElectronicCommerce(电子交易)。

开发环境与开发工具简介

为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:

I软件环境

客户端:

Ø  操作系统:Windows7/XP

Ø  网络协议:TCP/IP

Ø 浏览器:Internet Explorer 9.0

Ø 数据库:mysql数据库(也可以是SQL数据库)

II.    硬件环境:

Ø客户机 2.2 GHz CPU或更高,内存:1024M或更大,

2.2系统功能需求

网上商城系统主要提供网上的物流信息管理平台。

2.2.1管理员部分的主要功能

Ø         管理员登录功能,根据权限进入管理员相应的页面的功能

Ø         管理员管理用户、商品(查看、修改、删除)以及对系统进行设置的功能

2.2.2 用户部分的主要功能

Ø         用户登录功能,根据权限进入用户相应的页面的功能

Ø         用户进行在线购物的相关操作

2.2.3 购物流程部分的主要功能

Ø         通过用户的操作,完成整个购物的流程

2.3系统性能需求

Ø         实用性:为物流信息管理提供方便,有效进行物流中心信息管理,尽量最大限度降低管理员日常管理工作量,提高物流信息管理和效率,优化资源,实现效益最大化。

Ø         技术先进:数码产品网上商城系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。

Ø         安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,可以直接接入Internet,无论您身在何处,只要您可以访问Internet都可以使用本系统。

Ø         适应性:应该能广泛应用于不同类型的学校。系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。

Ø         代码可读性好:文中的代码将尽可能简洁,易懂。

2.3系统技术需求:

2.3.1开发技术

目前,开发此类系统的技术主要有JSP 、JSP、JSP、PHP等技术。针对本系统的功能需求和性能需求,采用的是JSP 技术,即活动服务页。它是一套微软开发的服务器端运行的脚本平台。通过JSP可以结合HTML网页、JSP指令和ActiveX元件建立动态、交互并且高效的Web服务器应用程序。有了JSP 不必担心客户的浏览器是否能运行所编写的代码,所有的程序都将在服务器断执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器将执行的结果返回给客户浏览器,减轻了客户端浏览器的负担,大大提高了交互的速度。同时它有自己独具的优点,包括无需compile编译,容易编写,在服务器端直接执行;使用普通的文本编辑器即可进行编辑设计;JSP的源程序不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,提高了程序的安全性;语言相容性高,能与所有的ActiveX Script语言都相容;易于操控数据库可以轻易地通过ODBC(Open Database Connectivity)驱动程序连接各种不同的数据库。

2.3.2系统开发工具

   本系统采用Visual Studio2008作为开发工具。Visual Studio200是一个可视化的建立Web站点和应用程序的专业工具,不仅提供了强大的网页编辑功能,而且提供了完善的站点管理机制,是一集网页创作和站点管理两大利器于一身的超重量的创作工具。利用它的可视化编辑功能,可以快速地创建页面而无需编写任何代码。也支持最新的Web技术,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。

第三章 网上商城系统设计

3.1 系统总体结构图

 图3.1系统功能结构图

3.2系统数据库设计

根据系统功能设计的需求,对于数码产品网上商城系统的数据库,可以列出本系统的各个组成部分的数据项和数据结构:

数据字典是对流程图加以补充说明的工具,为系统管理员提供了数据项的综合信息。下面将列出管理系统中的几个重要数据表

字段名

数据类型

必填字段

说明

id

int

 

自动编号

admin

nvarchar

管理员用户名

UserPassword

nvarchar

管理员密码

rank

smallint

权限

表 3.1管理员信息表

字段名

数据类型

必填字段

说明

userid

int

 

自动编号

username

nvarchar

用户名

useremail

nvarchar

用户Email

UserPassword

nvarchar

用户密码

identify

nvarchar

身份

UserMobile

nvarchar

移动电话

recommender

nvarchar

推荐

userqq

nvarchar

Qq

adddate

datetime

注册时间

UserLogins

int

用户登录标识

address

nvarchar

地址

postcode

nvarchar

邮编

usertel

nvarchar

固定电话

deliverymethord

int

快递方式

paymethord

int

支付方式

UserSex

smallint

性别

realname

nvarchar

真实姓名

vip

bit

Vip标识

img

nvarchar

头像

book

nvarchar

介绍

表 3.2 用户信息表

 

第四章 网上商城系统设计

 

下面,本人将按模块为单位进行模块功能实现作具体的描述:

4.1网上商城系统登录模块的实现

4.1.1功能描述

本模块主要实现用户的登录。为了限制该系统资源的使用,只有经过身份确认的用户才可以访问相关资源。

 

图4.1 商城首页

首页部分源代码如下:

<%@ Page Language=”C#” MasterPageFile=”~/shop.master” AutoEventWireup=”true” CodeFile=”Default.JSPx.cs” Inherits=”_Default” Title=”Untitled Page” Debug=”true” %>

<JSP:Content ID=”Content1″ ContentPlaceHolderID=”head” Runat=”Server”>

 <style type=”text/css”>

   .style23{width:116px;height:94px;}

   .style24{width:600px;height:132px;}

   .style25{width:104px;}

   .style26{width:598px;}

   .style27{width:106px;}

 </style>

</JSP:Content>

<JSP:Content ID=”Content2″ ContentPlaceHolderID=”ContentPlaceHolder1″ Runat=”Server”>

<hr />

  <table style=”font-size:9pt”;class=”style24″>

     <tr>

       <td valign =”top” align=”left”>

       <table>

       <tr>

       <td class =”style25″ style=”font-size:11pt;color:#FFFFFF; background-color:#FF0000;border-width:0px;”>

         热点促销

       </td>

       <td style=”font-size:9pt;border-width:0px;background-image:url(‘images/line.GIF’);width:178px;”>

       <b><a href=”news\more.JSPx”>更多>>></a></b>

       </td>

     </tr>

  </table>

    <JSP:Repeater ID=”Repeater1″ runat=”server”>

      <ItemTemplate>

        <a href=’news\show.JSPx?id=<%#Eval(“id”) %>‘ target=”_blank”><%#Eval(“title”) %></a><%#Eval(“addtime”,”{0:yyyy-MM-dd}”) %><br />

      </ItemTemplate>

    </JSP:Repeater>

    </td>

    <td valign=”top”>

      <img alt=”电话” src=”images/TEL.gif” />

    </td>

   </tr>

   </table>

    <table class=”style26″>

        <tr>

            <td class=”style27″ style=”font-size: 11pt; color: #FFFFFF; background-color: #FF0000;

                border-width: 0px”>

                最新产品

            </td>

            <td style=”background-image: url(‘images/line.GIF’)”>

                 </td>

        </tr>

    </table>

    <JSP:DataList ID=”DataList1″ DataKeyField=”bh” DataSourceID=”mysqlDataSource1″ RepeatColumns=”3″ runat=”server”>

      <ItemTemplate>

         <a href=’show.JSPx?id=<%#Eval(“bh”) %>‘><img src=’images/<%#Eval(“pic”) %>‘ class=”style23″ align=”left” style=”border-style:none”  alt=””/><br />

          

         <span>

             <JSP:Label ID=”titleLabel” runat=”server” Text=’<%#Eval(“productName”) %>‘></JSP:Label>

             <JSP:Label ID=”priceLabel” runat=”server” Text=’<%#Eval(“price”) %>‘></JSP:Label>

         </span>

         </a>

      </ItemTemplate>

    </JSP:DataList>

    <JSP:mysqlDataSource ID=”mysqlDataSource1″ runat=”server” DataFile=”~/App_Data/shop.mdb” SelectCommand=”SELECT TOP 9 bh,pic,price,productName FROM product”></JSP:mysqlDataSource>

</JSP:Content>

实现方法的设计程序文件如下:

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        string strSQL = “select top 7 * from news order by id desc”;

        Repeater1.DataSource =DbManager.ExecuteQuery(strSQL);

        Repeater1.DataBind();

    }

 

 

   

}

 

 

 

4.1.2管理员登录模块的输入、输出

输入:用户名、密码

输出用户登陆成功进入系统首页

网站登陆主要是用户登陆和管理员登陆。网站登陆模块主要用于验证用户是否是合法用户。网站登陆页面由两部分组成,即用于收集登陆信息的前台表单部分和用于验证的后台处理部分。

在主页面中根据不同的用户类型进入不同的操作界面。用户登陆系统时,首先建立与数据库的连接,然后判断用户名和密码是否正确。以下是用户点击登陆后的处理过程。与数据库建立连接,打开表,查询用户输入的用户名是否在表中存在,若不存在或密码错误提示错误,要求重新输入,如果三次错误则退出本系统。若用户名、密码正确,获得该用户的权限,保存当前用户的用户名和权限到系统的全局变量中。若用户登陆后需要修改密码或进行其他用户资料管理可以通过用户名在表中定位。

根据用户权限设置相应功能。显示系统的主界面,在首页输入管理员帐号,密码,如输入正确,即可进入管理员页面,如下图所示。管理员首页显示的是用户管理界面:

 


图4.2 管理员登陆页面

登陆时部分源代码如下:

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”login.JSPx.cs” Inherits=”login” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

 

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head runat=”server”>

    <title></title>

    <style type=”text/css”>

        .style1

        {

            font-size: x-large;

        }

        .style2

        {

            height: 431px;

            width: 503px;

        }

        .style3

        {

            font-size: 9pt;

        }

    </style>

</head>

<body>

    <form id=”form1″ runat=”server”>

    <div style=”margin: auto; text-align: center; background-image: url(‘images/loginbj.gif’); background-repeat: no-repeat;”

        class=”style2″>

    

        <b><span class=”style1″>

        <br />

        <br />

        <br />

        <br />

        <br />

        <br />

        </span><span class=”style3″ lang=”zh-cn”>第</span><span class=”style3″><span

            lang=”zh-cn”>一佳网上商城</span>后台管理登录页面

         

        <br />

        </span>

        </b>

        <span class=”style1″>

        <br class=”style3″ />

        <span class=”style3″>

        用户名:</span><JSP:TextBox ID=”TextBox1″ runat=”server” Width=”128px”

            CssClass=”style3″></JSP:TextBox>

        <br class=”style3″ />

        <span class=”style3″>

        密 码:</span><JSP:TextBox ID=”TextBox2″ runat=”server” TextMode=”Password”

            Width=”128px” CssClass=”style3″></JSP:TextBox>

        <br class=”style3″ />

        <span class=”style3″>

        验证码:</span><JSP:TextBox ID=”TextBox3″ runat=”server” Width=”128px”

            CssClass=”style3″></JSP:TextBox><br class=”style3″ />

        <span lang=”zh-cn”>  </span><img alt=”” src=”CheckCode.JSPx”

            style=”height: 21px; ” width=”132″ /><br />

        <JSP:Button ID=”Button1″ runat=”server” onclick=”Button1_Click” Text=”登录” />

 

    

    </div>

    </form>

</body>

</html>

实现方法的设计程序文件如下:

 

using System;

 

public partial class login : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        Session[“pass”] = 0;

    }

    protected void Button1_Click(object sender, EventArgs e)

    {

 

        if (TextBox3.Text != Request.Cookies[“CheckCode”].Value.ToString())

            Response.Write(“<script>alert(‘验证码错误!’)</script>”);

        else

        {

            string strSQL = “select * from users where userName='” + TextBox1.Text + “‘ and pwd='” + TextBox2.Text + “‘”;

 

            if (DbManager.ExecuteQuery(strSQL).Rows.Count > 0)

            {

                Session[“pass”] = 1;

                Response.Redirect(“manageProduct.JSPx”);

            }

            else

                Response.Write(“<script>alert(‘用户名或密码错误!’)</script>”);

 

        }

    }

}

 

在本模块中,用户通过输入用户名、密码验证用户身份,如果验证成功则进入系统,否则出错提示框提示重新输入信息。

4.2 网上商城系统后台管理的实现

4.2.1商品管理的实现方法的关键源部代码如下:

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”manageProduct.JSPx.cs” Inherits=”manageProduct” %>

<%@ Register src=”fenyePro.ascx” tagname=”fenyePro” tagprefix=”uc1″ %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

 

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head runat=”server”>

    <title></title>

    <style type=”text/css”>

        .style1

        {

            font-size: 11pt;

            font-weight: bold;

            font-family: 黑体;

            color: #FF0000;

        }

        .style2

        {

            font-size: 9pt;

        }

        .style3

        {

            text-align: center;

        }

    </style>

</head>

<body>

    <form id=”form1″ runat=”server” class=”style2″>

      <div class=”style3″>

      <img height=”82″ src=”images/logo.GIF” width=”205″ alt=”logo” /><span class=”style1″

            lang=”zh-cn”>后台管理系统<br />

          </span> <hr /><div>

    

    

    <uc1:fenyePro ID=”fenyePro1″ runat=”server” />

     </div>

      </div>

    <p class=”style3″>

        <span lang=”zh-cn”><a href=”insertpro.JSPx”>添加新商品</a>          </span>

        <JSP:Button ID=”Button1″ runat=”server” Text=”安全退出” onclick=”Button1_Click” />

      </p>

    </form>

    </body>

</html>

 

图4.2系统后台商品管理

4.2.2

留言板管理的实现方法的关键源代码如下:

%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”manager.JSPx.cs” Inherits=”manager” %>

<%@ Register Src=”fenye3.ascx” TagName=”fenye3″ TagPrefix=”uc1″ %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head runat=”server”>

    <title></title>

    <style type=”text/css”>

        .style1

        {

            text-align: center;

            font-weight: bold;

        }

    </style>

</head>

<body>

    <form id=”form1″ runat=”server”>

    <div class=”style1″>

        <span class=”style1″>商城留言板后台</span>管理页

    </div>

    <div style=”font-size: 11px”>

        <uc1:fenye3 ID=”fenye31″ runat=”server” />

    </div>

  

        <JSP:Button ID=”Button1″ runat=”server” Text=”退出后台管理”

        onclick=”Button1_Click” />

 

    </form>

</body>

</html>

 

图4.2系统后台留言板管理

4.2.3

新闻管理的实现方法的关键源代码如下:

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”manager.JSPx.cs” Inherits=”manager” %>

<%@ Register Src=”fenye.ascx” TagName=”fenye” TagPrefix=”uc1″ %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

 

<html xmlns=”http://www.w3.org/1999/xhtml” >

<head runat=”server”>

    <title>无标题页</title>

</head>

<body style=”font-size: 12pt”>

    <form id=”form1″ runat=”server”>

    <div align=”center”>

        <strong><span style=”font-size: 14pt; font-family: 华文新魏”>教学用新闻后台管理系统</span></strong>

        <hr />

        <uc1:fenye ID=”Fenye1″ runat=”server” />

        <br />

        <br />

        <JSP:Button ID=”Button2″ runat=”server” Text=”添加新闻” OnClick=”Button2_Click” />

        <JSP:Button ID=”Button3″ runat=”server” Text=”安全退出” OnClick=”Button3_Click” /></div>

    </form>

</body>

</html>

图4.3系统后台留言板管理

4.3购物车的实现

4.3.1

用户在首页登录后,即可实现网上购物,按数量和商品购买。

 

图4.4购买商品

4.3.2

查看购物车时,可以再次修改购买数量或删除购买的商品,在决定购买商品后单击“生成订单”按钮来生成订单。

 

图4.4查看购物车

4.3.3

生成订单

 

图4.4生成的订单

 

 

实现方法的关键源代码如下:

<%@ Page Title=”” Language=”C#” MasterPageFile=”~/shop.master” AutoEventWireup=”true”

    CodeFile=”buy.JSPx.cs” Inherits=”buy” EnableEventValidation=”false” %>

<JSP:Content ID=”Content1″ ContentPlaceHolderID=”head” runat=”Server”>

    <style type=”text/css”>

        .style8

        {

            text-align: center;

        }

    </style>

</JSP:Content>

<JSP:Content ID=”Content2″ ContentPlaceHolderID=”ContentPlaceHolder1″ runat=”Server”>

    <img src=”images/shoppingcart.gif” alt=””/>

    <br />

    <br />

    

    <JSP:Repeater ID=”Repeater1″ runat=”server”>

        <HeaderTemplate>

            <table border=”1″ cellspacing=”0″ align=”center” style=”font-size: 9pt”>

                <tr>

                    <td>商品名称</td>

                    <td>单价</td>

                    <td> 商品编号</td>

                    <td> 购买数量</td>

                    <td> 小计</td>

                    <td>   </td>

                </tr>

        </HeaderTemplate>

        <ItemTemplate>

            <tr>

                <td><%#Eval(“productName”)%></td>

                <td><JSP:Label ID=”lblPrice” runat=”server” Text=’<%#Eval(“price”)%>‘></JSP:Label> </td>

                <td><JSP:Label ID=”lblId” runat=”server” Text=’<%#Eval(“商品id”)%>‘></JSP:Label></td>

                <td><JSP:TextBox ID=”txtNum” Text=’<%#Eval(“购买数量”)%>‘ Width=”20px” ToolTip=”请输入大于1的整数”

                        runat=”server”></JSP:TextBox>

                    <JSP:Button ID=”btnEdit” runat=”server” Text=”修改数量” OnClick=”btnEdit_Click” />

                </td>

                <td><JSP:Label ID=”lblTotal” runat=”server” Text=”Label”></JSP:Label></td>

                <td><JSP:Button ID=”btnDel” runat=”server” Text=”删除商品” OnClick=”btnDel_Click” /></td>

            </tr>

        </ItemTemplate>

        <FooterTemplate>

        </table>

     </FooterTemplate></JSP:Repeater>

   <div class=”style8″>

    <JSP:Label ID=”lblAllTotal” runat=”server” ></JSP:Label>

    <br />

    <JSP:Button ID=”Button1″ runat=”server” Text=”生成订单” onclick=”Button1_Click” />    

       

    <br />

     <a href=”default.JSPx”><img src=”images/buy.gif” style=”border-style: none” /></a>

    </div>

</JSP:Content>

实现方法的设计程序文件如下:

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class buy : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        //判断是否已经登录

        if (Session.Count == 0)

        {

            Response.Write(“<script>alert(‘你尚未登录,请先登录!’)</script>”);

            Response.Write(“<script>history.go(-1)</script>”);

            Response.End();

        }

        else

            if (!IsPostBack)

            {//第一次加载窗体

                int num = Convert.ToInt32(Request.QueryString[“num”]);

                int id = Convert.ToInt32(Request.QueryString[“id”]);

                //判断是该用户否已经将该商品放置到购物车中

                string sql = “select * from 购物表 where 用户名='” + Session[“name”].ToString() + “‘ and 商品id=” + id;

                //如果查询结果>0,则是已经买过,只需要修改购买数量即可

                if (DbManager.ExecuteQuery(sql).Rows.Count > 0)

                {

                    sql = “update 购物表 set 购买数量=购买数量+” + num + ” where 商品id=” + id;

                    DbManager.ExecuteNonQuery(sql);

                }

                else

                {

                    if (id != 0)

                    {

                        sql = “insert into 购物表(用户名,商品id,购买数量) values(‘” + Session[“name”].ToString() + “‘,” + id + “,” + num + “)”;

                        DbManager.ExecuteNonQuery(sql);

                    }

                }

 

                //显示购物表中自己的购物信息

                string sql2 = “select product.productName,购物表.购买数量,购物表.商品id,product.price from 购物表,product where product.bh=购物表.商品id and  用户名='” + Session[“name”].ToString() + “‘”;

                Repeater1.DataSource = DbManager.ExecuteQuery(sql2);

                Repeater1.DataBind();

 

                int iNum, iProId;

                double iPrice, dblAllTotal = 0;

                string sql5 = “”;

                for (int i = 0; i < this.Repeater1.Items.Count; i++)

                {

                    //在此使用FindControl找到Repeater控件中相应控件,并转换成相应类型

                    iNum = Convert.ToInt32(((TextBox)this.Repeater1.Items[i].FindControl(“txtNum”)).Text);

                    iProId = Convert.ToInt32(((Label)this.Repeater1.Items[i].FindControl(“lblId”)).Text);

                    iPrice = Convert.ToDouble(((Label)this.Repeater1.Items[i].FindControl(“lblPrice”)).Text);

                    dblAllTotal = dblAllTotal + iNum * iPrice;//计算总价钱

                    ((Label)this.Repeater1.Items[i].FindControl(“lblTotal”)).Text = (iNum * iPrice).ToString();

 

                    sql5 = “update 购物表 set 购买数量=” + iNum + ” where 商品id=” + iProId;

                    DbManager.ExecuteNonQuery(sql5);

                }

                lblAllTotal.Text = “总计:” + dblAllTotal.ToString() + “元”;

            }

    }

 

    protected void btnEdit_Click(object sender, EventArgs e)

    {

        int iNum, iProId;

        double iPrice, dblAllTotal = 0;

        string sql5 = “”;

        for (int i = 0; i < this.Repeater1.Items.Count; i++)

        {

            iNum = Convert.ToInt32(((TextBox)this.Repeater1.Items[i].FindControl(“txtNum”)).Text);

            iProId = Convert.ToInt32(((Label)this.Repeater1.Items[i].FindControl(“lblId”)).Text);

            iPrice = Convert.ToDouble(((Label)this.Repeater1.Items[i].FindControl(“lblPrice”)).Text);

            dblAllTotal = dblAllTotal + iNum * iPrice;//计算总价钱

            ((Label)this.Repeater1.Items[i].FindControl(“lblTotal”)).Text = (iNum * iPrice).ToString();

 

            sql5 = “update 购物表 set 购买数量=” + iNum + ” where 商品id=” + iProId;

            DbManager.ExecuteNonQuery(sql5);

        }

        lblAllTotal.Text = “总计:” + dblAllTotal.ToString() + “元”;

 

    }

 

    protected void btnDel_Click(object sender, EventArgs e)

    {

        int iProId;

        string sql = “”;

        string sql1;

 

        for (int i = 0; i < this.Repeater1.Items.Count; i++)

        {

            if ((Button)sender == (Button)this.Repeater1.Items[i].FindControl(“btnDel”))

            {

                iProId = Convert.ToInt32(((Label)this.Repeater1.Items[i].FindControl(“lblId”)).Text);

                sql = “delete from 购物表  where 商品id=” + iProId;

                DbManager.ExecuteNonQuery(sql);

            }

        }

        sql1 = “select product.productName,购物表.购买数量,购物表.商品id,product.price from 购物表,product where product.bh=购物表.商品id and  用户名='” + Session[“name”].ToString() + “‘”;

        Repeater1.DataSource = DbManager.ExecuteQuery(sql1);

        Repeater1.DataBind();

 

        int iNum;

        double iPrice;

        string sql3 = “”;

        for (int i = 0; i < this.Repeater1.Items.Count; i++)

        {

            iNum = Convert.ToInt32(((TextBox)this.Repeater1.Items[i].FindControl(“txtNum”)).Text);

            iProId = Convert.ToInt32(((Label)this.Repeater1.Items[i].FindControl(“lblId”)).Text);

            iPrice = Convert.ToDouble(((Label)this.Repeater1.Items[i].FindControl(“lblPrice”)).Text);

 

            ((Label)this.Repeater1.Items[i].FindControl(“lblTotal”)).Text = (iNum * iPrice).ToString();

            sql3 = “update 购物表 set 购买数量=” + iNum + ” where 商品id=” + iProId;

            DbManager.ExecuteNonQuery(sql3);

        }

 

    }

 

 

    protected void Button1_Click(object sender, EventArgs e)

    {

        string sql = “insert into 订单表 select 用户名,商品id,购买数量 from 购物表 where 用户名='” + Session[“name”].ToString() + “‘”;

        if (DbManager.ExecuteNonQuery(sql) > 0)

        {

            sql = “delete from 购物表 where 用户名='” + Session[“name”].ToString() + “‘”;

           if(DbManager.ExecuteNonQuery(sql)>0)

             Response.Redirect(“order.JSPx”);

        }

        else

            Response.Write(“<scirpt>alert(‘生成订单失败’)</scipt>”);

    }

}

 

 

 

 

 

 

 

 

 

总结

     通过对系统进行需求分析、设计等一系列工作,将系统分为三个个模块:商城留言板、商城新闻、用户管理、在线购物,最终使系统实现了管理员管理用户、商品和对系统进行设置,用户信息管理和订购商品的操作等功能。系统界面美观友好,操作方便,将在很大程度上提高数码商品信息管理的效率,基本达到本次毕业设计的目的。在课题实施过程中,对电子商务网站的系统结构、功能、支撑技术、己有的一些比较成熟的电子商务平台及许多公司提出的电子商务解决方案进行了分析和研究,得出了如下体会和结论:

1.电子商务门户网站是由网络基础结构、WEB及应用程序服务器、用户服务系统、用户应用系统四个层次组成,它们各自有自身的功能结构,互相紧密关联。据此提出了电子商务网站的层次结构模型。

2.本文提出电子商务门户网站的软件体系结构应采用三层的客户/服务器模型,即客户端、业务逻辑服务器、数据库管理。并对其组成部分进行了阐述。

3.电子商务门户网站的设计应该通过需求分析、功能模块设计、信息资源分析、应用支撑平台分析、用户服务系统设计、用户应用系统设计、开发环境、页面设计、程序编制等步骤来进行。

通过本次毕业设计,我也感受到了开源的方便,遇到什么问题,上网一查,就知道该怎么弄了,以前做个课程设计都是怕别人和我的一样,不愿意给别人看,现在知道了程序弄不出来是多么的着急,学习都是相互的,互相研究才能共同进步的.以后要多多注意这方面的事情,本次毕业设计是我工作前一次很好的演练和实践的机会,是培养独立思考问题和自学能力的锻炼,使我意识到必须努力学习才能才工作中体现自己的价值,适应社会的需要。

当然,一方面由于初次尝试管理信息系统的开发,对系统开发所使用的技术、工具等还有一个从熟练到精通的过程。另一面由于毕业设计时间有限,系统难免还存在很多的不足,需要进一步的改善,主要在以下几个方面:

(1)系统功能还需要进一步的完善,以适用于更多的领域

(2)系统某些权限的分配还存在一些不合理地方

(3)系统的安全性设计方面还应该考虑全面一些

总之,在这次设计中,本人学到了大量的知识,开阔了视野,也为日后从事软件开发工作奠定了坚实的基础.

点点赞赏,手留余香 给TA打赏

AI创作

海天味业的财务比率分析 利用佛山市海天调味食品股份有限公司(简称海天味业,603288) 2021年年报中的财务数据展开如下分析。
海天味业的财务比率分析 利用佛山市海天调味食品股份有限公司(简称海天味业,603288) 2021年年报中的财务数据展开如下分析。
10分钟前 有人购买 去瞅瞅看
题目:根据平时作业一确定的调查课题,制定调查实施方案。要求:1、调查实施方案内容应包含调查课题、调查目的和意义、调查内容、调查范围、调查时间、调查对象、调查方法、调查费用预算、调查工具、调查问卷;2、调查问卷应包含封面信、指导语、问题及答案,其中封闭式问题不少于5题,开放式问题不少于2题。3、总字数不少于600字。
题目:根据平时作业一确定的调查课题,制定调查实施方案。要求:1、调查实施方案内容应包含调查课题、调查目的和意义、调查内容、调查范围、调查时间、调查对象、调查方法、调查费用预算、调查工具、调查问卷;2、调查问卷应包含封面信、指导语、问题及答案,其中封闭式问题不少于5题,开放式问题不少于2题。3、总字数不少于600字。
4分钟前 有人购买 去瞅瞅看
题目:根据平时作业一确定的调查课题,制定调查实施方案。要求:1、调查实施方案内容应包含调查课题、调查目的和意义、调查内容、调查范围、调查时间、调查对象、调查方法、调查费用预算、调查工具、调查问卷;2、调查问卷应包含封面信、指导语、问题及答案,其中封闭式问题不少于5题,开放式问题不少于2题。3、总字数不少于600字。
题目:根据平时作业一确定的调查课题,制定调查实施方案。要求:1、调查实施方案内容应包含调查课题、调查目的和意义、调查内容、调查范围、调查时间、调查对象、调查方法、调查费用预算、调查工具、调查问卷;2、调查问卷应包含封面信、指导语、问题及答案,其中封闭式问题不少于5题,开放式问题不少于2题。3、总字数不少于600字。
刚刚 有人购买 去瞅瞅看
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
显示验证码

社交账号快速登录