旅游在线报名系统.docx
- 文档编号:23342967
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:20
- 大小:420.20KB
旅游在线报名系统.docx
《旅游在线报名系统.docx》由会员分享,可在线阅读,更多相关《旅游在线报名系统.docx(20页珍藏版)》请在冰豆网上搜索。
旅游在线报名系统
目录
第一章引言1
1.1选题背景1
1.2开发技术1
1.2.1ASP.NET2.0简介1
第二章旅游在线报名系统概述2
2.1功能分析2
2.2概要设计2
第三章旅游在线报名系统的详细设计4
3.1数据库设计4
3.2界面设计6
3.2.1主界面的设计6
3.2.2后台管理页面的设计7
3.3模块实现8
3.3.1添加新的地域记录模块8
3.3.2修改地域记录模块10
3.3.3删除地域记录信息11
第四章旅游在线报名系统的测试和运行13
4.1添加新的地域记录模块13
4.2修改地域记录模块14
4.3删除地域记录信息14
小结17
参考文献18
第一章引言
1.1选题背景
随着人们生活水平的提高,利用节假日出游的人越来越多。
同时,旅行社间的竞争也日趋激烈,传统的宣传手段已经无法满足竞争的需要,通过创建互联网旅游在线报名系统,可以宣传旅行社的线路以及实现其他相关的功能,能够招揽更多的游客报名参团旅游,从而为旅行社带来更多的经济效益,使用旅游在线报名系统还可以为旅行社节省人力成本,提高工作效率,从而增强企业的竞争。
旅游在线报名系统是一种集网上报名和后台管理于一体的综合性电子商务系统,为了方便人们出行,制作旅游在线报名网站,就是为了使人们在出行前可以对各旅游景点的环境进行一定的认知,对比各个景点,选择合适的景点,足不出户就可以选择旅游线路,报名参加。
1.2开发技术
1.2.1ASP.NET2.0简介
ASP.NET2.0是统一的Web开发模型,其功能包括使用尽可能少的代码生成企业级Web应用程序所必需的各种服务。
当编写ASP.NET应用程序的代码时,可以访问.NETFramework中的类;可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码,这些语言包括MicrosoftVisualBasic、C#和J#,使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的ASP.NETWeb应用程序。
ASP.NET的工作原理是,首先,有一个HTTP请求发送到Web服务器要求访问一个Web网页,Web服务器通过分析客户的HTTP请求来定位所请求网页的位置。
如果所请求的网页文件名的后缀是.aspx,那么就把这个文件传送到aspnet_isapi.dll进行处理,由aspnet_isapi.dll把ASP.NET代码提交到CLR。
如果以前没有执行过这个程序,那么就由CLR编译并执行,得到纯HTML结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯HTML结果。
最后把这些纯HTML结果传回浏览器作为HTTP响应。
浏览器受到这个响应之后,就可以显示Web网页。
若要开发ASP.NET2.0应用程序,必须有以下工具:
(1).NETFramework2.0
(2)MicrosoftVisualStudio集成开发环境
(3)MicrosoftVisualWebDeveloper2005
(4)一个Web服务器(如Internet信息服务(IIS))和将文件写入该Web服务器的权限
也可以使用以下工具:
(1)一个数据库产品(如MicrosoftSQLServer),用于提供应用程序数据存储。
(2)一个SMTP服务器,用于从ASP.NETWeb应用程序发送电子邮件。
第二章旅游在线报名系统概述
2.1功能分析
旅游在线报名系统是管理员(旅行社)、客户紧密参与的系统。
在本系统中,客户通过本系统进行线路的查询,然后通过报名系统对线路进行预定,并填写个人资料、联系方式。
管理员(旅行社)通过对数据库的访问,对客户进行大致的了解,通过客户的联系方式与客户进行相关具体信息的交流,管理员还可通过后台进行线路的修改与推荐,以及对客户报名名单的管理。
2.2概要设计
旅游在线报名系统主要包括地域管理、旅游线路管理、图片处理、报名管理、旅游线路查询、游客报名和用户管理等模块。
其系统功能结构图如图2-1所示:
图2-1旅游在线报名系统功能结构图
地域信息管理模块功能结构图,如图2-3所示:
图2-3地域信息管理模块
旅游在线报名系统的各功能模块之间的关系如图2-2所示:
图2-2旅游在线报名系统的各功能模块之间的关系
第三章旅游在线报名系统的详细设计
3.1数据库设计
本系统定义的数据库中包括以下6个数据表:
地域信息表(Area)、旅游线路信息表(Line)、推荐线路分类信息表(Category)、游客信息表(Book)、用户信息表(Admin)、用户信息表(Admin)和旅游线路图片信息表(Picture),其数据表结构如下:
表3-1地域信息表(Area)
列名
数据类型
备注
AreaId
int
地域编号
AreaName
varchar(50)
地域名称
Typeld
bit
地域类型(0表示本市,1表示外埠)
表3-2旅游线路信息表(Line表)
列名
数据类型
备注
LineId
int
线路编号
LineName
Varchar(250)
线路名称
AreaId
Int
所在地域编号
Days
tinyInt
行程天数
People
varchar(50)
适合人群
Special
varchar(250)
线路特色简介
Tips
varchar(250)
友情提示
SafeTip
varchar(500)
安全提示
LineRef
varchar(2000)
参考提示
Traffic
varchar(500)
交通信息
Hotel
varchar(500)
住宿信息
Dinner
varchar(500)
用餐信息
Entertainment
varchar(500)
娱乐信息
Place
varchar(500)
景点信息
Shopping
varchar(500)
购物信息
EcoPrice
int
经济报价
StePrice
int
标准报价
ExpPrice
int
豪华报价
CldPrice
int
儿童报价
Post
smalldatetime
提交日期
Cateld
int
推荐线路分类编号
表3-3推荐线路分类信息表(Category表)
列表
数据类型
备注
CateId
int
推荐线路分类编号
CateName
Varchar(50)
推荐线路分类名称
表3-4游客信息表(Book表)
列名
数据类型
备注
BookId
int
报名编号
LineId
int
线路编号
StarDate
smalldatetime
出发日期
TraNum
smallint
人数
BookPerson
varchar(100)
报名人姓名
WorkPlace
varchar(200)
单位
varchar(100)
邮箱地址
Address
varchar(400)
通信地址
Zip
char(10)
邮政编码
Telephone
varchar(100)
电话
Mobile
varchar(100)
移动电话
Fax
varchar(100)
传真
IdCard
varchar(50)
身份证号
Comment
varchar(2000)
留言
Postdate
smalldatetime
提交日期
Flag
bit
处理标记
表3-5用户信息表(Admin表)
列名
数据类型
备注
Id
varchar(20)
用户名称
Pwd
varchar(20)
用户密码
表3-6旅游线路图片信息表(Picture)
列名
数据类型
备注
PicId
int
自增主键
LineId
int
旅游线路Id
Title
varchar(100)
图片标题
PicSize
varchar(20)
图片的大小
PicPath
varchar(100)
图片的存放路径
3.2界面设计
3.2.1主界面的设计
本系统的主页面为main.apsx,它的功能是显示推荐线路分类中的旅游线路列表,并提供查询线路的链接。
通过后台录入各地域信息和线路信息后,主页面main.aspx将如图3-1所示。
图3-1系统首页面
3.2.2后台管理页面的设计
后台管理界面功能是针对系统数据提供后台管理的接口,只有有权限的用户才能进入后台管理界面,后台管理页面如图3-2所示。
图3-2后台管理页面
3.3模块实现
我做的是地域信息管理模块。
3.3.1添加新的地域记录模块
实现添加新的地域记录功能的代码如下:
为实现地域的添加功能,在“类型”列的FooterTemplate里也添加一个地域类型下拉框,在“地域名称”列的FooterTemplate里添加一个文本框,在“编辑”列的FooterTemplate里添加一个添加按钮和取消按钮,并把这两个按钮的CommandNam分别设置为ADD和CANCELADD,当单击添加地域按钮时将触发对应的事件,该事件的事件处理程序如下:
//显示GridView控件的页脚,为添加地域做准备
protectedvoidbtnAdd_click(objectsender,EventArgse)
{
gvList.ShowFooter=true;
BindData();
}
这样,就可以对刚才添加的下拉框和文本框进行编辑,单击“添加”按钮,用来完成添加地域的功能,或单击“取消”按钮,用来取消地域添加。
添加与取消事件都是在GridView控件的RowCommand事件的处理程序中实现:
//GridView控件的RowCommand函数,此处实现了添加了取消添加地域的功能
protectedvoidgvList_RowCommand(objectsender,GridViewCommandEventArgse)
{
if(e.CommandName=="ADD")
{
DropDownListddlNewType=(DropDownList)gvList.FooterRow.FindControl("ddlNewType");
TextBoxtxtNewArea=(TextBox)gvList.FooterRow.FindControl("txtNewArea");
BaseService.GetInstance().InsertArea(ddlNewType.SelectedValue=="0"?
false:
true,txtNewArea.Text);
gvList.ShowFooter=false;
BindData();
}
if(e.CommandName=="CANCELADD")
{
gvList.ShowFooter=false;
BindData();
}
}
当e.CommondName的值是ADD时说明是添加地域,通过FindControl方法获取地域类型和地域名称,通过BaseService的InsertArea方法添加到数据库。
InsertArea方法定义如下:
//添加地域
PublicvoidInsertArea(boolTypeId,stringAreaName)
{
stringsql=“insertarea(typeid,areaname)values(@TypeId,@AreaName)”;
Databasedb=DatabaseFactory.CreateDatabase();
DbCommandcmd=db.GetSqlStringCommand(sql);
db.AddInParameter(cmd,”@TypeId”,DbType.Boolean,TypeId);
db.AddInParameter(cmd,”@AreaName”,DbType.String,AreaName);
db.ExecuteNonQuery(cmd);
}
当e.CommondName的值是CANCELADD时说明是取消添加地域,将GridView的ShowFooter的属性设置为False,然后绑定数据。
3.3.2修改地域记录模块
实现修改地域记录功能的代码如下:
地域的修改操作也是通过GridView控件来实现的。
首先,将GridView控件中的所有列都设置为模板列,然后在“类型”列的编辑模板中添加一个地域类型下拉框,下拉选项为本市和外埠,此项的目的是为了当编辑某一地域时修改地域类型:
然后再“地域名称”列的编辑模板中添加一个文本框,此文本框的目的是为了当编辑某一地域时修改地域类型。
这样:
当我们单击某一记录的编辑按钮时就会触发GridView控件的编辑事件RowEditing,在该方法中编写代码如下:
//将指定的GridView行设置为编辑状态
protectedvoidgvList_RowEditing(objectsender,GridViewEditEventArgse)
{
gvList.EditIndex=e.NewEditIndex;
BindData();
}
对地域类型与地域名称进行修改,要确定修改。
可以单击“更新”,否则,单击“取消”以取消编辑。
更新将触发GridView控件的RowUpdating事件,在该事件里,对编辑的地域进行了数据库保存工作,具体代码如下:
//编辑指定的地域记录
protectedvoidgvList_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
DropDownListddlType=(DropDownList)gvList.Rows[e.RowIndex].FindControl("ddlType");
TextBoxtxtArea=(TextBox)gvList.Rows[e.RowIndex].FindControl("txtArea");
intId=Convert.ToInt32(gvList.DataKeys[e.RowIndex].Value);
BaseService.GetInstance().UpdateArea(Id,ddlType.SelectedValue=="0"?
false:
true,txtArea.Text);
gvList.EditIndex=-1;
BindData();
}
在该函数里通过FindControl方法,查找到我们刚才添加的下拉框与文本框,读取这两个控件的值,并更新此地域记录。
地域的数据库更新是通过BaseService的UpdateAreay方法实现的,代码如下:
//更新地域信息
PublicvoidUpdateArea(intId,boolTypeId,stringAreaName)
{
stringsql=“updateareasettypeid=@TypeId,AreaName=@AreaName”
+”whereAreaId=@AreaId”;
Databasedb=DatabaseFactory.CreateDatabase();
DbCommandcmd=db.GetSqlStringCommand(sql);
db.AddInParameter(cmd,”@TypeId”,DbType.Boolean,TypeId);
db.AddInParameter(cmd,”@AreaId”,DbType.Int32,Id);
db.AddInParameter(cmd,”@AreaName”,DbType.String,AreaName);
db.ExecuteNonQuery(cmd);
}
取消编辑的方法实现如下:
protectedvoidgvList_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse)
{
gvList.EditIndex=-1;
BindData();
}
3.3.3删除地域记录信息
实现修改地域记录功能的代码如下:
单击“删除选定”按钮,会删除选定的地域,具体实现代码如下:
//删除指定的地域记录,可多选
protectedvoidbtnDelete_Click(objectsender,EventArgse)
{
StringBuildersb=newStringBuilder();
CheckBoxcb=null;
foreach(GridViewRowrowingvList.Rows)
{
cb=(CheckBox)row.FindControl("CheckThis");
if(cb.Checked)
{
sb.Append(gvList.DataKeys[row.RowIndex].Value.ToString()+",");
}
}
if(sb.Length>0)
{
sb.Remove(sb.Length-1,1);
BaseService.GetInstance().DeleteArea(sb.ToString());
BindData();
}
}
在该函数中,通过遍历GridView控件中的每行,判断该行是否被选中,如果选中就将选中就将选中行的主键值(这里就是地域表的Areald)保存到一个StringBuilder对象中,如果选中了多行,就将主键值以逗号隔开,最后调用BaseService类的DeleteArea()方法删除相应的数据库记录,实现代码如下:
//删除选定的地域
PublicvoidDeleteArea(stringIds)
{
Stringsq1=”deleteareawhereareaidin(“+Ids+”)”;
Databasedb=DatabaseFactory.CreateDatabase();
DbCommandcmd=db.GetSqlStringCommand(sql);
Db.ExecuteNonQuery(cmd);}
第四章旅游在线报名系统的测试和运行
4.1添加新的地域记录模块
此模块实现的是添加新的地域记录功能。
当Admin用户进入地域信息管理后,单击“地域管理”就可以打开地域信息管理页面,如图4-1所示:
图4-1打开地域信息管理界面图
单击“添加地域”按钮,就可以出现添加地域的下拉列表。
如图4-2所示:
图4-2添加地域下拉列表图
将所需的添加的地域信息输入以后,点击添加按钮,在地域管理就多出一项刚刚添加的信息。
如图4-3所示:
图4-3成功添加地域信息图
4.2修改地域记录模块
此模块实现的是修改地域记录功能。
点击任意地域的信息的编辑项,地域信息就进入了编辑状态,如图4-4所示:
图4-4点击“编辑”按钮图
进入编辑状态以后,更改地域的信息,如图4-5所示:
图4-5地域信息修改图
点击“更新”按钮,如图4-6所示:
图4-6地域信息修改成功图
4.3删除地域记录信息
此模块实现的是删除地域记录功能。
选中想要删除的地域记录,如图4-7所示:
图4-7选定地域信息图
点击“删除选定”按钮,如图4-8所示:
图4-8是否删除图
出来确认是否删除对话框,点击“确定”按钮,如图4-9所示:
图4-9成功删除低于信息图
小结
为期两周的课程设计将要结束了。
在这两周的学习中,我学到了很多,也找到了自己身上的不足。
感受良多,获益匪浅。
这10天中,我们小组分工合作、齐心协力,一起完成了课程设计各项工作.
在课程设计的过程中,我们经历了感动,经历了一起奋斗的酸甜苦辣。
也一起分享了成功的喜悦。
这次的课程设计对我们每个人来说都是一个挑战。
课程设计中文档的撰写我从来就没有担心过,就是网站的设计我真的很担心,平时对这方面的知识接触的就不是很多,而且对于软件我就更抓狂了。
这时候小组的力量就体现出来了,各司其职,各尽其能。
发挥了集体的效用。
我通过这次课程设计发现了自身的不足,虽然遇到了很多问题,但是通过小组努力并完成了工作。
参考文献
[1]DinoEsposito著,施平安译.ASP.NET2.0技术内幕.北京:
清华大学出版社,2006。
[2]KoureshArdestani著,张哲峰译.高效掌握ADO.NET—C#编程篇.北京:
清华大学出版社,2003。
[3]余金山,ASP.NET2.0+SQLServer2005企业项目开发与实战,北京:
电子工业出版社,2008。
[4]BillWagner,EffectiveC#:
50SpecificWaystoImproveYourC#,北京:
人民邮电出版社,2003。
[5]JimArlow,IIaNeustadt.UML2andtheUnifiedProcess:
PracticalObject-OrientedAnaylysisandDesign,SecondEdition,北京:
人民邮电出版社,2006。
[6]陈萱华编著《如何利用ASP.NET技术访问数据库计算机与现代化》,2003
(2)。
[7]朱涛,李云云编著基于ASP.NET技术的WEB数据库分页显示,电脑学习,2005
(2)。
[8]朱玉超、鞠艳、王代勇编著《ASP.NET项目开发教程》北京:
电子工业出版社,2008。
[9]刘乃丽编著《完全手册ASP.NET2.0网路开发详解》北京:
电子工业出版社,2008。
[10]尚俊杰、秦卫中编著《ASP.NET程序设计案例教程[M]》北京:
清华大学出版社,2005。
[11]陈伟编著《SQLServer2005数据库应用与开发教程》北京:
清华大学出版社,2007。
[12]孙更新编著《网站+论坛开发全程实录》北京:
清华大学出版社,2008。
[13]田更编著《ASP.NET程序设计案例教程》北京:
清华大学出版社,2011。
[14]张跃廷编著《ASP.NET开发实战宝典》北京,清华大学出版社,2010。
[15]周之英编著现代软件工程,科学出版社,2001。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 旅游 在线 报名 系统