版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章项目实战:会议考勤系统,本章要点,C/S和B/S结构的联合应用 会议考勤系统开发流程 导出Excel功能实现 TreeView控件高级应用 AJAX技术应用,10.1 系统功能概述,本系统是为淮安市交通局开发的基于.NET平台的会议考勤系统,本系统分前台系统和后台系统,后台系统由数据库服务器和Web应用程序服务器构成,前台系统由考勤机、考勤状态显示机和会务管理机构成,整个系统拓扑结构如图10.1所示。,1数据库服务器:安装Windows Sever2003操作系统和SQL Server2005数据库系统。 2Web服务器:安装IIS6.0,.NET Framework2.0和考勤管理软
2、件。该软件采用B/S结构,其界面如图10.2所示,其主要功能如图10.3所示。,图10.2 考勤管理软件界面 图10.2 考勤管理软件界面,3考勤签到机:在考勤签到机上安装了考勤签到软件,其界面如图10.4所示:,用户可以通过输入员工编号或者刷卡(通过读卡器设备)两种形式实现考勤登录功能,考勤签到软件则将用户输入的信息通过局域网保存到后台SQL Server数据库上,其程序流程图如图10.5所示。,图10.5 考勤签到流程图,4考勤状态显示机:由PC机和投影仪构成,输入http:/Web服务器的IP地址,即可查看当前会议出勤情况,如图10.6所示,按F11键,可全屏投影显示。,在人数上单击鼠标
3、,可显示相关人员列表,如图7所示: 图10.7 应到人员明细,5会务管理机:主要应对员工请假、临时添加参会人员等突发情况,该操作主要通过http:/Web服务器的IP地址后,登录到后台会议考勤管理软件,执行相应操作,其中系统登录界面如图10.8所示,请假管理界面如图10.9所示。,10.2 系统分析,通过对系统功能进行分析,可以归纳出本系统包含单位部门、职工信息、会议信息、参会人员设置、当前会议设置、请假信息、会议签到信息、系统用户等信息,其中主要信息的E-R图如图10.10所示:,8个数据表结构如表10-1表10-8所示。 表10-1部门信息表(Department),表10-2职工信息表(
4、Employee),表10-3 会议信息表(MeetingInfo),表10-4 参会人员设置表(AttendEmpShedule),表10-5 会议签到信息表(AttendCard),表10-6 请假信息表(AskForLeave),表10-7 当前会议设置标(CurrentMeeting) 表10-8 系统用户表(Admin),10.3 SQL Server数据库的创建,我们将利用SQL Server2005提供的图形界面工具“SQL Server Management Studio”创建会议考勤系统的数据库。具体步骤如下: 1)选择“开始”“所有程序”“Microsoft SqlServ
5、er 2005” “SQL Server Management Studio”,打开SQL Server管理平台,将弹出如图10.11所示的登录界面,图10.11 SQL Server2005登录界面,2)选择SQL Server身份验证,输入用户名和密码后,即可进入系统主界面,如图10.12所示: 图10.12 SQL Server Management Studio,3在) “对象资源管理器”选择“数据库”,右键,执行“新建数据库”命令,如图10.13所示: 图10.13 新建数据库,4)在弹出的“新建数据库”对话框中,在数据库名称文本框中输入“Meeting”,注意在“数据库文件”列表选
6、项中可以设置数据库的初始大小、自动增长、文件存储路径、文件名等信息,这里采用默认值,点击最下方的“确定”按钮,完成数据库的添加,如图10.14所示:,图10.14 新建数据库对话框,5)在“对象资源管理器”选择数据库“Meeting”,在“表”子项目上点击右键,执行“新建表”命令,如图10.15所示,6)根据表10-1到表10-8的字段要求,创建数据库表的各个字段,注意修改各个字段的数据类型,如图10.16所示:,7)按保存该表,在弹出的对话框中输入“Department”,实现表的命名。 8)选择DeptID列,在“列属性”列表中,找到“表设计器”“标识规范”,将“(是标识)”项改为“是”,
7、如图10.17所示。标志列的作用是,当向该表添加记录时,标识列的数据自动增加,增加值由标识增量决定。例如,对于DeptID列,第一条记录该列值为1,第二条记录值为2,以此类推。,图10.17 修改标识列,9)保持选中DeptID列,点击左上角的 图标,为DeptID列添加主键,从而规定该列的值具备唯一性。 10)根据以上步骤,创建会议考勤系统的其他表格。,10.4考勤后台管理软件架构,本系统在同一“Visual Studio解决方案”下包含三个项目,分别为系统类库,后台管理系统网站和考勤前台签到系统,采用同一解决方案的作用是方便代码管理和维护。,10.4.1 系统解决方案及类库创建,系统解决方
8、案和类库的创建步骤为: 1)打开Microsoft Visual Studio,在菜单栏选择“文件”“新建”“项目”,在弹出的“新建项目”对话框中选择“Visual Studio解决方案” “空白解决方案”,项目名称输入“MeetingSys”,保存位置可自行设置,如图10.18所示,图10.18 新建项目,2)点击确定按钮,Visual Studio将为我们创建项目的解决方案,在“解决方案资源管理器”下的“解决方案MeetingSys(0个项目)”栏目上单击鼠标右键,从弹出的下拉菜单中执行“添加”“新建项目”命令,如图10.19所示。,3)在弹出的“添加新项目”对话框中,选择“Visual
9、C#语言”“类库”,名称为“MeetingLib”,如图10.20 所示。,4)在解决方案“MeetingSys”下将会添加“MeetingLib”项目,在该项目上单击鼠标右键,从弹出的下拉菜单中执行“添加”“类”命令,如图10.21所示。,5)在弹出的“添加新项”对话框中,输入名称“DbHelper.cs”后,点击“添加”按钮。 6)双击“DbHelper.cs”文件,修改代码为如下所示: 键入代码 7)在解决方案资源管理器的“MeetingLib”项目上单击鼠标右键,从弹出的下拉菜单中执行“添加引用”命令,在弹出的“添加引用”对话框中,选择“System.Configuration”项,按
10、住键,再次选择“System.Data.OracleClient”项后,点击“确定”按钮,如图10.22所示。,图10.22添加引用,8)在解决方案资源管理器的“MeetingLib”项目上单击鼠标右键,从弹出的下拉菜单中执行“生成”命令,如果上述步骤没有出现错误,将在VS工具的左下角输出如图10.23所示项目生成信息。,9)继续添加名为“MyMD5”的类,用来加密用户密码等敏感信息,代码如下: 键入代码 10)再次在解决方案资源管理器的“MeetingLib”项目上单击鼠标右键,从弹出的下拉菜单中执行“生成”命令,如果上述步骤没有出现错误,继续添加名为“SysUtility”的类,该类代码如
11、下: 键入代码 11)重新生成项目,确保代码正确,10.4.2 考勤后台管理系统框架构建,考勤后台管理系统采用FrameSet结构,具体实现步骤如下 1)利用搜索引擎查找或直接从微软网站上下载“ASPAJAXExtSetup.msi”文件,并将该文件安装到操作系统中,从而后台系统可以支持微软AJAX架构,该软件的安装界面如图10.24所示。,2)重新启动Visual Studio,打开“MeetingSys”解决方案,在“解决方案资源管理器”下的“解决方案MeetingSys(1个项目)”栏目上单击鼠标右键,从弹出的下拉菜单中执行“添加”“新建网站”命令,在弹出的“添加新网站”对话框中,选择“
12、ASP.NET AJAX-Enabled Web Site”模板,并将该网站的保存位置设置在解决方案相应目录下,例如本教程中为“D:learnMeetingSysMeetingManagement”,从而在解决方案下添加了“MeetingManagement”这一子目录,网站文件将存放在里面。最后,确保项目语言为Visual C#,如图10.25所示。,3)在新添加的网站项目上点击鼠标右键,在弹出的下拉菜单中执行“设为启动项目”命令,从而可以通过点击工具栏上的 图标来运行项目。 4)在“解决方案资源管理器”选中网站项目,右键,执行“新建文件夹”命令,并将新的文件夹命名为“Admin”。 6)在
13、Admin文件夹下添加css、image、js、My97DatePicker等子文件夹,并将随案例提供的“案例素材.rar”文件解压,将素材文件拷贝到相关目录下。,7)在Admin文件夹上点击鼠标右键,执行“添加新项”命令,在弹出的“添加新项”对话框中选择“Web窗体”,并将之命名为“Default.aspx”,如图10.26所示。,8)修改Default.aspx的代码为如下所示: 键入代码 7)添加“FrameTop.aspx”窗体,HTML代码如下: 键入代码 8)添加“FrameLeft.aspx”窗体,HTML代码如下: 键入代码 9)添加“FrameBottom.aspx”窗体,H
14、TML代码如下: 键入代码 10)添加“FrameMain.aspx”窗体,HTML代码如下: 键入代码,11)在“解决方案资源管理器”中,选中网站项目下“Admin”文件夹中的“Default.aspx”文件后,点击工具栏上的 图标运行项目,运行结果如图10.27所示。由于没有添加具体的功能窗体,所以系统主界面上显示为“无法找到资源”错误。,10.5 部门人员管理功能实现,10.5.1 单位部门设置子模块 单位部门设置功能实现步骤如下: 1)在“解决方案资源管理器”中,选中网站项目下“Admin”文件夹,右键,在弹出的下拉菜单中执行“新建文件夹”命令,并将新的文件夹命名为“Departmen
15、t”。 2)在“Department”文件夹下添加名为“DeptSet.aspx”的窗体文件,并添加初始代码如下: 键入代码,4)从VS工具箱中选择“TreeView”控件和“Literal”控件添加到Web窗体上,此时Web窗体布局如图10.28所示。 4)后台代码中初始化TreeView控件代码为: 键入代码 5)初始化页面代码如下: 键入代码,6)在“解决方案资源管理器”中,选中网站项目,右键,在弹出的下拉菜单中选择“添加引用”,在弹出的“添加引用”对话框中,切换到“项目”标签页,选择“MeetingLib”类库,将10.4.1中创建的类库添加到网站引用中,由此,在考勤后台系统中,可以调
16、用类库中的代码,如图10.29所示。,7)在“解决方案资源管理器”中,选中“Web.config”文件,双击打开,在“”上添加如下xml语句: 键入代码 8)在“解决方案资源管理器”中,选中Admin文件下的Default.aspx文件,右键,选择设为起始页,运行项目,该页首先被执行。在左侧导航栏中选择“部门人员管理”“单位及部门设置”,执行结果如图10.30所示。,9)关闭浏览器,在“解决方案资源管理器”中选择“Admin文件夹”“Department文件夹”“DeptSet.aspx”文件,在源文件的顶部添加如下所示JS代码: 键入代码 10)在源文件的底部添加如下代码,也可以借助VS工具
17、栏中加快控件添加速度: 键入代码 注意以上代码需要添加在标签之前。,11)添加以上代码后,部门设置功能界面如图10.31所示。 12)添加以下代码,以支持各个界面的AJAX功能: 键入代码,13)切换到界面的设计试图,双击“添加单位”控件,在生成的 LinkButton1_Click事件中添加如下代码: 键入代码 14)添加单位信息代码如下: 键入代码 15)切换到界面的设计视图,双击“修改单位”控件,在生成的LinkButton2_Click事件中添加如下代码: 键入代码 其中调用的GetCheckedUnit()代码如下: 键入代码,16)修改单位代码如下: 键入代码 17)切换到界面的设
18、计视图,双击“删除单位”控件,在生成的LinkButton3_Click事件中添加如下代码: 键入代码 18)添加部门的操作步骤与添加单位基本类似,可自行通过案例素材中的案例源代码学习。,10.5.2 职工信息设置子模块 1、职工信息添加功能实现步骤如下: 1)在网站的AdminDepartment目录下添加名为“EmployeeSet.aspx”的Web窗体,界面如图10.32所示,注意设置验证控件,用于验证用户输入的合法性,在单位部门下利用SqlDataSource和Dropdownlist控件实现单位部门信息的二级联动。,2)双击“提交”按钮,添加如下代码,实现添加用户信息功能: 键入代
19、码 3)在网站的AdminDepartment目录下添加名为“EmployeeView.aspx”的Web窗体,界面如图10.33所示。,其中SQLDataSource1控件的SQL语句为: SELECT ID, Name, CardID, DeptName, parentname,Position FROM V_EmployeeInfo,其对应于数据库Meeting中的视图V_EmployeeInfo。 另外在DataGridView中利用“HyperLinkField”控件,通过超链接的形式,将修改功能传递到了“EmployeeSet.aspx”上。如图10.34所示:,4)职工管理界面对
20、应的查询功能代码如下: 键入代码 5)在查询按钮的Click事件以及DataGridView控件的PageIndexChanged事件中添加对查询功能SearchEmployee()的调用即可。 6)修改AdminDepartment目录下的EmployeeSet.aspx.cs代码为如下所示: 键入代码,10.6 会议管理功能实现,10.6.1 会议信息添加模块 会议信息添加模块和职工信息设置子模块功能类似,实现步骤如下: 1)在网站项目下的Admin文件夹下添加Meeting子文件夹,和会议管理功能相关的Web文件将存储在这里。 2)在Meeting子文件夹下添加名为MeetingSet.
21、aspx的web窗体文件,并将窗体布局设置为如图10.35所示。,3)添加会议信息核心代码: 键入代码 4)修改会议信息核心代码: 键入代码 这里调用了设置当前会议信息的存储过程,数据库中的存储过程代码如下: 键入代码,10.6.2 会议信息浏览与编辑模块 会议信息浏览与编辑模块实现过程如下: 1)在网站的AdminMeeting目录下添加名为“MeetingView.aspx”的Web窗体,界面如图10.36所示。 注意刷卡要求列字段为自定义模板,其代码为: 键入代码,2)会议信息修改功能通过HyperLinkField字段切换到MeetingSet.aspx页面完成,主要通过将该字段的Da
22、taNavigateUrlFormatString属性来实现,如图10.37所示。,10.6.3 参加会议人员设置 参会人员设置从实现流程上可分为两个步骤:首先显示还未召开的会议,其次为相应的会议设置参会人员即可。具体实现步骤如下: 1)在网站AdminMeeting显示未召开的会议 会议信息浏览与编辑模块实现过程如下: 1)在网站的AdminMeeting目录下添加名为“AttendShedule.aspx”的Web窗体文件,添加DataGridView控件和SqlDataSource控件,页面布局类似会议信息浏览模块。 2)SqlDataSource的Select语句为: 键入代码,3)在
23、DataGridView控件上添加HyperLinkField字段,用于链接到会议参会人员具体设置界面,HyperLinkField字段对应的代码为: 键入代码 4)在网站的AdminMeeting目录下添加名为“AttendSet.aspx”的Web窗体文件,其布局如图10.38所示。,5)在参会人员设置中,主要涉及到了参会人员批量设置功能,可在GridView控件的最后一列添加模板列,而后在GridView控件上选择编辑模板,再选择HeaderTemplate,从工具箱中选择checkbox控件放到模板列中,如图10.39所示。 6)选择ItemTemplate,再放入一个CheckBox
24、后,添加如下代码: 键入代码 7)选中GridView控件,在其DataBound事件中添加如下代码: 键入代码,8)确定参会人员代码如下: 键入代码,10.6.4 请假人员设置 请假人员设置功能(AskForLeaveSet.aspx)与会议信息添加、浏览功能基本类似,其界面如图10.40所示。,这里要注意的是会议主题中对应的SQLDataSource代码,注意已经召开完的会议是不允许请假的,对应SQL语句如下: SELECT ID, Title FROM MeetingInfo WHERE (OpenDate = DATEADD(dd, - 1, GETDATE() 请假人员浏览功能(As
25、kForLeaveView.aspx)主要是根据会议主题的不同,列出对应会议的请假人员,功能界面如图10.41所示:,10.6.5 当前考勤会议设置 前会议召开功能通过在显示的未召开会议信息的列表上,通过单选框按钮选择某项会议,然后按“设为当前考勤会议”按钮来实现该功能,其运行界面如图10.42所示: 该功能的主要技术应用体现在GridView上单选按钮的设置,具体步骤如下: 1)在GridView空间上添加模板列,对应代码如下: 键入代码,2)在GridView的RowDataBound事件中添加如下代码: 键入代码 3)双击LinkButton控件,为其Click事件添加如下代码,从而完成
26、设置当前考勤会议功能: 键入代码,10.7 会议出勤情况统计功能实现,会议出勤情况模块主要统计会议应到人数、实到人数、迟到人数、未到人数、请假人数等信息,并可以查询各种情况的详细人员名单,实现步骤如下: 1)在网站项目下的Admin文件夹下添加Query子文件夹,和回忆出勤情况统计功能相关的Web文件将存储在这里。 2)在Query子文件夹下添加名为MeetingStats.aspx的web窗体文件,并将窗体布局设置为如图10.43所示。,3)这里大量应用了自定义模板列,GridView控件代码如下所示: 键入代码 4)导出Excel功能主要通过生成HTML代码,将报表内容包含在标签中,如下所
27、示: 键入代码 5)在GridView控件的RowCommand事件中添加如下代码,完成Excel导出功能: 键入代码 6)查看应到、实到、迟到、未到、请假明细功能界面和代码基本类似,主要通过访问数据库的不同视图来实现,以查看应到人数为例,对应的SQLDataSource控件代码为 键入代码,10.8 用户登录功能实现,在完成了会议考勤后台管理的核心功能后,可以着手实现系统用户登录和权限控制等功能,将用户登录功能放在最后,是为了方便功能测试,提高开发效率。用户登录功能实现步骤如下: 1)在网站Admin文件夹下新建名为“Admin_Login.aspx”的Web窗体文件,并将界面设计为如图10
28、.44所示:,2)登录模块后台代码如下: 键入代码,10.9 用户权限管理功能实现,10.9.1 用户信息添加模块 用户信息添加模块实现步骤如下: 1)在网站项目下的Admin文件夹下添加User子文件夹,并在User子文件夹下添加名为“UserAdd.aspx”的Web窗体,该窗体控件布局如图10.45所示。,2)本模块仍然通过网页参数兼顾添加与修改功能,其中添加功能代码如下: 键入代码 3)UserIsExit方法用来查看是否新增加的用户已经存在于数据库之中: 键入代码 4)GetRightsSelect方法用来检查CheckBox控件的选中状态,用来组合权限控制字符串,代码如下: 键入代
29、码 5)修改用户功能代码如下: 键入代码,10.9.2 用户信息浏览模块 用户信息浏览模块功能与会议信息浏览功能类似,其界面如图10.46所示,读者可自行查看案例代码,完成该功能。,10.9.3 修改密码模块 修改密码功能实现步骤如下: 1)在网站项目下的AdminUser文件夹下添加名为“ChangePd.aspx”的Web窗体,该窗体控件布局如图10.47所示。 2)后台代码如下: 键入代码,10.9.4 权限控制 权限控制功能可通过如下核心代码: 键入代码 将该段代码添加到各个页面的protected void Page_Load(object sender, EventArgs e)下
30、即可,读者可自行完成,类似例子可以参考示例源文件下的“adminuseruserview.aspx.cs”。权限控制还可通过配置web.config、实现HttpModules接口等方式实现,读者可查阅相关资料。,10.10 会议考勤情况显示功能,考勤情况显示功能实现步骤如下所示: 1)打开网站根目录下的Default.aspx文件,从工具箱选择“ScriptManager”、“UpdatePanel”和“Timer”三个AJAX控件,拖动到窗体布局页面上。 2)放至Label、Literal和HyperLink等控件,整个界面布局如图10.48所示:,其中会议标题为Label控件,时间为Literal控件,人数数字信息为HyperLink控件,整个页面代码为: 键入代码 4)后台代码为: 键入代码 5)在AttendDetails下通过数据库的“AttendDetails”存储过程来获得显示数据,该存储过程代码如下: 键入代码,6)在网站根目录下添加AllinOne.aspx、AskForLeave.aspx、DelayAttend.aspx、MustAttend.aspx、NotAttend.a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024融资租赁合同书之公寓租赁合同
- 2024年度监理工程师职责履行合同
- 2024年中介参与下的二手房买卖定金合同
- 2024年度软件开发与维护技术服务合同
- 2024年建筑工地瓦工承包合同
- 商品房购房合同协议书
- 技术合同 技术许可合同样本
- 2024某大学人文社科科研项目合同书
- 2024借名购房合同协议范本
- 2024年离婚协议书格式要求
- 深度解读强基计划-被强基计划课件
- 第五章肺孢子菌病课件
- 魏晋南北朝服饰课件
- 无机及分析化学考试题(附答案)
- 可可脂巧克力课件
- 交通连四方 杭州交通的发展课件
- 梨树栽培技术 课件
- 第13讲 教学设计的ASSURE模式(V5.1)公开课一等奖省优质课大赛获奖课件
- 三年级上册美术课件-3.色彩的变化|赣美版 (共19张PPT)
- 理想与前途主题班会课件
- 颜色标准LAB值对照表
评论
0/150
提交评论