- 1.72 MB
- 2022-05-17 13:36:52 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
哈尔滨工业大学远程教育本科毕业设计(论文)摘要二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。人事考勤是管理部门获取人员出勤和考核人员的最直接的途径与最简单最基本的方式。但是,随着公司规模的不断扩大,雇员数量的急剧增加,有关雇员的考勤信息量也在不断成倍增长。面对庞大的信息量,就需要有考勤管理系统来提高管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。本系统采用VS2005、Asp.net和SqlServer2000等软件为开发工具,针对员工出勤的实际情况,设计出一个web考勤管理系统,对员工的考勤信息进行统一管理,涉及到的主要内容有:体系结构规划、设计平台的搭建以及系统的设计。主要实现的功能有基础数据维护、考勤信息维护、考勤信息统计和报表输出。设计充分利用VS2005、Asp.net、SqlServer2000数据库技术的强大力量,提高了编程效率和可靠性。关键词考勤管理系统VS2005Asp.netSqlServer2000II
哈尔滨工业大学远程教育本科毕业设计(论文)AbstractExtendcontinuouslyalongwiththescaleofthecompany,thenastyplayofemployee"squantityincrement,concerningthepersonnelcheckonworkattendanceinformationquantityalsoatcontinuouslybecomedoublylong.Facethehugeamountofinformation,needtohavethecheckonworkattendancemanagementsystemtoraisetheefficiencythatthepersonnelmanagesthework.Passsuchsystem,wecanattainnormmanagementandfastsearchesofinformation,thusreducingtheworkloadofthemanagement.Weusevs2005,Asp.netandSqlServer2000softwareasdevelopmenttool,faceemployeeonduty"sfact,designwebcheckmanagesystem,thecontentincludedesignthesystemcircuit,constructionplatform.thesystemmajorfunctionisvindicatebasedata,vindicatecheckinformation,computecheckinformationandreportoutput.Keywords:CheckManageSystemVS2005Asp.netSqlServer2000II
哈尔滨工业大学远程教育本科毕业设计(论文)目录摘要IAbstractII第1章绪论11.1软件开发背景11.2考勤管理现状11.2.1考勤打卡流程11.2.2考勤统计流程21.3问题提出21.4小结2第2章系统可行性分析3第3章系统平台与开发工具53.1Asp.net简介53.1.1Asp.net运行原理和机制53.1.2Vs2005简介73.1.3C#语言简介73.1.4Asp.net的运行环境83.2系统开发环境83.2.1服务器的配置83.2.2数据库后台环境的配置83.2.3其他相关联的系统平台103.3小结10第4章需求分析114.1系统组成114.1.1员工界面部分114.1.2管理界面部分114.2角色识别114.3系统配置要求124.4小结13第5章系统总体设计145.1系统主要功能规划145.1.1基础数据管理145.1.2密码修改145.1.3个人资料维护155.1.4基础数据维护155.1.5人事数据维护155.1.6考勤管理155.1.7考勤数据维护155.1.8考勤查询1553
哈尔滨工业大学远程教育本科毕业设计(论文)5.1.9个人考勤查询155.1.10综合考勤报表155.2小结15第6章系统详细设计176.1数据库设计176.1.1Users用户表176.1.2Department部门表186.1.3Groups团队表186.1.4JobPosition职位表186.1.5Specialty专业表196.1.6SchoolGrade学历表196.1.7CheckSheet考勤表196.2模块设计206.2.1系统登录模块206.2.2找回密码模块206.2.3修改密码模块206.2.4个人资料修改模块206.2.5基础数据管理模块206.2.6人事数据维护模块206.2.7考勤数据维护模块216.2.8个人考勤查询模块216.2.9综合考勤报表模块216.3小结21第7章系统实现227.1模块的实现227.1.1系统登录模块227.1.2找回密码模块227.1.3修改密码模块227.1.4个人资料修改模块237.1.5数据管理模块模块247.1.6人事数据维护模块267.1.7考勤数据维护模块287.1.8个人考勤查询模块307.1.9综合考勤报表模块317.2小结32结论33致谢34参考文献35附录136A.中文翻译3653
哈尔滨工业大学远程教育本科毕业设计(论文)B.英文原件38附录2详细代码及说明42实现DBAccess类42实现Util类43实现Util类44系统框架的搭建4453
哈尔滨工业大学远程教育本科毕业设计(论文)第1章绪论1.1软件开发背景中国加入WTO后,中国企业愈来愈面临着国际化的竞争格局,随着市场竞争的加剧,靠廉价劳动力作为竞争力,以简单的加工甚至是来料加工为定位的制造型企业愈来愈不能适应市场的需要。某公司地处创新之都的深圳,在中国改革开发的浪潮中从一个小公司迅速成为了一个具备高度创新竞争力的高新技术企业。企业的各个部门协同努力,在研究国际、国内同行的同类产品的基础上创造性的推出了一系列新产品满足了市场的需要,公司也得到了长足的发展。伴随着在企业的发展,公司不断发展壮大,人员大量增加,公司需要规范化的管理,完善考勤制度,进行规范的考勤管理,但是随之带来的大量考勤管理工作也带来了管理上的困难。随着时代的发展,网络通讯技术、计算机技术和数据库技术的成熟,网络进程的加快,公司办公室自动化系统的发展条件已经成熟。我的毕业设计就是一个小型办公自动办公化系统的开发---网上考勤查询系统。1.2考勤管理现状某公司考勤管理一直以来都是依靠人员手工操作,步骤重复、繁琐的现象,并且考勤历史记录堆放不易查找,容易出错等情况,难以及时地放映的员工当月的出勤勤快光,难以迅速的对员工的考勤进行一个系统的评估。1.2.1考勤打卡流程一个典型的考勤打卡的过程是:1.人员到岗后在卡架上取出纸制考勤卡放入打卡机打上班卡;2.下班后人员在卡架上取出纸制考勤卡放入打卡机打下班卡;3.考勤打卡过程结束;53
哈尔滨工业大学远程教育本科毕业设计(论文)1.1.1考勤统计流程一个典型的考勤统计的过程是:1.员工每月底将纸制考勤卡交到人事部管理人员处,并领取下个月的纸制考勤卡;2.人事部门管理人员统计纸制考勤卡,核实员工当月出勤情况;3.人事部门管理人员将统计结果填写到电脑中电子表格中,当月的考勤卡归档存放;4.考勤统计过程结束;1.2问题提出在计算机已经广泛使用的当今,考勤打卡、纸制考勤卡存放,统计登记过程主要依靠手工,不但效率不高,而且容易出错,不利进行统计分析。以上所描述的手工过程的处理过程的不足之处显而易见,其弊端如下:首先,打卡中需要纸制的考勤卡,浪费资源,并且进行打卡过程中容易出错;其次,当公司员工人数增加,考勤历史记录随着时间而逐渐积累成几何级数增加时,纸质的记录不但数量大,查找工作量大,而且纸质的记录随着时间的推移容易发生毁损,记录模糊不清、辨认困难等问题频繁出现。第三,手工统计难度大,任务繁重,人事部门管理人员不堪重负。第四,统计后的数据制成表格放到电脑上保存,容易发生丢失。第五,考勤结果每月收卡时进行统计,期间公司领导在此期间不能及时掌握员工考勤动态。1.3小结本章主要介绍了M公司目前考勤管理的工作流程,并对其不足进行了分析,并指出其弊端。53
哈尔滨工业大学远程教育本科毕业设计(论文)第1章系统可行性分析随着科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。伴随着网络通讯技术、计算机技术和数据库技术的成熟,信息化时代的到来成为不可抗拒的潮流。随着计算机技术的应用已经深入了我们生活的每一个角落,信息技术在管理上越来越深入而广泛的应用,办公室自动化系统(OA)的实施在技术上已逐步成熟。办公室自动化系统一般指实现办公室内事务性业务的自动化,这是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的办公自动化系统。各个公司的办公自动化流程各不相同,但是有每个不同流程都是由模块组成,它们使用的大部分模块都是相同的。先制作成系统的各个模块,根据不同客户的流程不同进行不同的拼装,这样是做成一个通用的可定制的办公自动化系统成为可能。基于上述分析,M公司的考勤系统需要一种效率高,使用简便、不易出错的方法来替代现有手工处理考勤的方式。我们想将该考勤管理系统做成一个该公司未来办公自动化系统的一部分,作为一个模块先期运行使用。考勤数据采集的工作将使用采用IC卡打卡进行采集,考勤机在打卡成功后,直接将考勤数据传递到数据库进行存储。这方面的工作准备购买现有的成熟产品,IC卡的采购也将一并完成。考勤数据查询工作这方面,准备制作单独的系统进行网上考勤查询。一方面,采用计算机管理可以使记录的查询简便直观,可以大大提高工作效率;另外一方面,采用程序的方式简化考勤统计的工作,同时避免人工处理的方式可能带来的错误。该系统具有登陆、修改密码、修改个人信息、人员管理、个人考勤查询,综合考勤查询等功能。53
哈尔滨工业大学远程教育本科毕业设计(论文)综上所述,采用网上考勤查询系统将人事部门管理人员从传统的考勤管理方式彻底的解脱出来,提供一种准确、方便、快捷、费用低的管理,提高效率,减轻人事部门管理人员以往繁忙的工作,减小出错的概率,是完全可行的。53
哈尔滨工业大学远程教育本科毕业设计(论文)第1章系统平台与开发工具1.1Asp.net简介ASP.NET是微软公司提供的新一代的Web开发平台,它为开发人员提供了生成企业级Web应用程序所需要的服务、编程模型和软件基础结构,同其他Web开发平台相比,ASP.NET具有下面三大优势。1.支持多种脚本语言和编译语言ASP.NET可以使用脚本语言(如VBscript、Jscript、Perlscript和Python)以及编译语言(如VB、C#、C、Cobol、Smalltalk和Lisp)。该框架使用通用语言运行环境(CLR),先将源代码编译成Microsoft中间语言代码,然后CLR执行这些代码。这种中间语言具有平台无关性,而且,由于ASP.NET页面在执行前会被编译,所以ASP.NET的性能得到了很大的提高。2.程序代码与页面内容的成功分离ASP.NETWeb开发技术为程序员提供了一种非常好的开发模式,即CodeBehind技术,它通过Web控件将程序代码与页面内容成功分离,从而使ASP.NET的程序结构异常清晰,开发和维护的效率也得到了很大的提高。另外可以利用VisualStudio.NET集成环境下开发ASP.NET应用程序,该环境不仅提供了强大的调试能力,而且还集成了“所见即所得”的HTML编辑器,为开发人员开发Web页提供了方便的图形化支持。3.引入服务器端控件服务器端控件会生成发送给浏览器的HTML代码,显示控件,它们还能生成隐藏的HTML元素来存储它们当前的状态。在提交页面时,这些信息就会传送回服务器,控件将自动处理这些信息,改变HTML,显示控件。1.1.1Asp.net运行原理和机制53
哈尔滨工业大学远程教育本科毕业设计(论文)当一个http请求发送过来并被IIS服务器收到之后,IIS首先通过你请求的页面类型为其加载相应的dll文件,经过一些不同的HttpModule的处理后,将这条请求发送给HttpHandler模块。如图3-1所示:图3-1Asp.net运行原理一个http请求有可能经过的四条路线。当用户第一次访问这个页面时这个请求首先依次经过HttpModuls和HttpHandler的处理,而在HttpHandler的处理中服务器会为用户转到真正要访问的页面,然后通过ASPEngine来找到这个页面背后的类,并实例化为一个临时对象,再此过程中会触发一系列的事件,其中一部份的事件需要经过对象中的方法处理,之后服务器会将这个处理后页面发移交给Response对象,然后由Response对象将这个页面发送到客户端。这就是第一条路线,而当用户在这个页面上进行重新提交一些信息,并继续向服务器发送请求时,因为此时用户的服务器之间的会话已经建立,对于用户所在的那个临时对象在服务器中已经建立,所以不用再经过初始化页面的工作,故这第二条路线是按照HttpModuls,HttpHandler,然后直接与临时对象交互,然后返回的。第三条路线与第二条不同的是在处理请求时如果涉及到需要调用ASPCache,既ASP缓存的,而临时对象回将直接从ASP缓存提取信息并返回.这第四条路线就是当你刷新这个页面的时候,服务器接收到时发现这个请求先前已经处理过了,并将处理结果存储到由一个默认的HttpModule管理的输出缓存中了,那么我们就可以直接从这个缓存提取信息并返回,而无需再重新处理一遍了。如图3-2所示:53
哈尔滨工业大学远程教育本科毕业设计(论文)图3-2Asp.net运行机制1.1.1Vs2005简介VS2005是微软公司推出的一个可扩展的、支持整个软件开发生命周期的企业级开发平台,通过它,广大开发人员及其团队能够开发出更加高效、安全和可靠的解决方案。1.1.2C#语言简介C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。C#语言自C/C++演变而来,相对C/C++来说,C#更现代、更简单、更完全面向对象和更类型安全。53
哈尔滨工业大学远程教育本科毕业设计(论文)它简化和革新了C++中的类、名字空间、方法重载和异常处理等领域。摒弃了C++的复杂性,使它更易用、更少出错。C#减少了C++的一些功能,更易于使用。不再有宏、模板和多重继承。特别对企业开发者来说,上述功能只会产生更多的麻烦而不是效益。使编程更方便的新功能是严格的类型安全、版本控制、垃圾收集(garbagecollect)等等。所有这些功能的目标,都是在于开发面向组件的软件。1.1.1Asp.net的运行环境安装了Windows2000操作系统得电脑以上的,IIS5.0以上,安装了.NetFrameWork2.0,就可以运行Asp.net了。1.2系统开发环境1.2.1服务器的配置通过前面的介绍,可以知道服务器只需要升级到IIS5.0以上版本,安装好vs2005,并完成配置了。1.2.2数据库后台环境的配置SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本。建立数据库:1)在数据库服务器上安装SqlServer2000。2)选中需要建数据库的服务器,单击鼠标右键,选择“开始”à“数据库”,输入“KQCX”,完成新建数据库。如图3-3所示:53
哈尔滨工业大学远程教育本科毕业设计(论文)图3-3新建数据库1)选中新建的“KQCX”数据库,单击鼠标右键,选择“新建”à“表”,可以新建自己的数据表了。如图3-4所示:图3-4新建数据表53
哈尔滨工业大学远程教育本科毕业设计(论文)1.1.1其他相关联的系统平台考勤数据采集模块另外购买其他公司产品,该产品通过打卡机采集数据之后,直接存入数据库,不需要和考勤查询系统做接口。1.2小结本章主要对系统开发的数据库与工具的进行了简单的介绍,并建立了系统开发环境。53
哈尔滨工业大学远程教育本科毕业设计(论文)第1章需求分析考勤管理系统要求普通员工可以维护自己的数据,查询本人的考勤情况,人事部门相关人员需要维护考勤数据,查看考勤情况统计。1.1系统组成1.1.1员工界面部分基础数据管理:密码修改,个人资料修改;考勤查询:个人考勤查询;1.1.2管理界面部分基础数据管理:基础数据修改,人事数据修改;考勤管理:考勤数据维护;考勤查询:综合考勤查询;1.2角色识别角色识别的任务是找出所有可能与系统发生交互行为的外部实体,对象和系统。他们的行为不受系统的控制,但是可以提供输入给系统(即使用系统的功能,或者能够响应系统的服务请求,为系统提供服务的接口)。在前面的描述中可知,用户在访问系统时,可以维护个人资料和查询个人考勤信息,很显然系统存在这样的主要角色,我们定义该角色为普通用户。同样在系统的后台,也需要人员管理注册用户,管理基础数据,维护考勤数据,综合查询考勤情况,我们定义该角色为系统管理员。综上所述,本系统实际只包含两个角色:普通用户,系统管理员。53
哈尔滨工业大学远程教育本科毕业设计(论文)如表4.1所示,我们根据完成任务的不同进行模块划分,一共包括7大模块,其中与普通用户相关的共有3个,与系统管理员相关的共有4个。这些功能模块是建立在我们对系统的需求分析和设计的基础上的。当然这是从大的方向对系统进行的很粗糙的划分,进入系统设计阶段我们将会对系统进行更加精细的划分设计。表4.1模块功能列表序号功能模块类型功能模块备注1普通用户密码修改用户修改个人密码2普通用户个人资料修改用户修改个人信息3普通用户个人考勤查询用户查询个人考勤信息4系统管理员基础数据修改维护系统基础数据,包括增加/删除/修改5系统管理员人事数据修改查看用户信息,增加/删除/修改用户信息6系统管理员考勤数据维护增加/删除/修改考勤数据7系统管理员综合考勤查询综合查询考勤,生成相关报表任何系统的功能的实现都离不开角色的参与,为了赋予不同的角色不同的功能和权限,也为了一定程度上确保系统交易的安全性和顺利进行。1.1系统配置要求操作系统:Windows2000Server/Professional以上CPU:没有很高的要求,只要能够顺利运行Windows系列操作系统就可以了。内存:最低配置128MB以上内存。硬盘空间:至少需要50MB以上的硬盘空间来安装所需的组件。53
哈尔滨工业大学远程教育本科毕业设计(论文)1.1小结本章主要对系统的需求进行了分析,角色进行了识别,模块进行了划分,提出了系统配置的要求,为以后进行设计和开发提供了坚实的基础。53
哈尔滨工业大学远程教育本科毕业设计(论文)第1章系统总体设计1.1系统主要功能规划根据上述业务过程的分析,并结合实际记录信息进行优化,系统功能如下。如图5-1所示:图5-1系统功能图系统各项功能要求描述如下:1.1.1基础数据管理基础数据管理功能包括密码修改,个人资料修改,基础数据维护、人事数据维护。1.1.2密码修改用户修改自己的密码;53
哈尔滨工业大学远程教育本科毕业设计(论文)1.1.1个人资料维护用户维护自己的个人信息;1.1.2基础数据维护维护系统所有的基础数据,进行增删改;1.1.3人事数据维护维护公司的人事数据,考勤是以人事数据为基准进行记录的;1.1.4考勤管理考勤管理是指对考勤数据进行维护。1.1.5考勤数据维护对考勤机采集得数据,不太确切或者出现异常的情况进行手工的维护。主要发生在考勤机异常,人员漏打卡等情况下。1.1.6考勤查询根据日常工作的需要,专门设计了查询,以方便人事部门管理人员和员工进行查询。1.1.7个人考勤查询进行个人考勤的查询,只能查询一个人的考勤情况,主要针对公司员工。1.1.8综合考勤报表通过组合查询,产生考勤报表,人事部门管理人员统计使用。1.2小结53
哈尔滨工业大学远程教育本科毕业设计(论文)本章对考勤管理系统的各项功能进行了系统规划,然后对于功能的作用与目的进行了阐述,方便与最终使用者进行沟通,以确认软件的功能设计是否满足人事部管理人员的使用要求。本章的内容应该在与考勤管理与使用者充分沟通达成一致后,再进行后续详细设计。53
哈尔滨工业大学远程教育本科毕业设计(论文)第1章系统详细设计基于上述针对考勤管理系统的总体涉及到的各项功能规划,实施了包括表的设计、窗体功能设计等在内的详细设计。1.1数据库设计表是数据库设计的灵魂,是各项数据信息存放的仓库,表的设计质量直接关系到各项后续开发的质量。1.1.1Users用户表表结构如表6-1所示,该表用来记录用户信息。表6-1数据表Users字段名数据类型允许空说明UserIDIntN用户编号,系统自动产生,唯一LoginIDVarchar(50)N登陆名,唯一PasswordVarchar(15)N密码EmailVarchar(50)N验证邮件,用来找回密码,唯一CNameVarchar(50)N用户显示名CardIDVarchar(50)Y身份证号SexVarchar(2)Y性别AddressVarchar(50)Y地址ZipcodeVarchar(50)Y邮政编码TelVarchar(50)Y电话DepartIDIntY部门编号GroupsIDIntY团队编号JobPositionIDIntY职位编号specialtyIDIntY专业编号53
哈尔滨工业大学远程教育本科毕业设计(论文)SchoolGradeIDIntY学历编号StatusIntY状态:1-正常;2-停用ModiTimeDateTimeY修改时间1.1.1Department部门表表结构如表6-2所示,该表用来记录部门信息。表6-2数据表Department字段名数据类型允许空说明DepartmentIDIntN部门编号,系统自动产生,唯一DepartmentNameVarchar(100)N部门名RemarkVarchar(100)N备注1.1.2Groups团队表表结构如表6-3所示,该表用来记录团队信息。表6-3数据表Groups字段名数据类型允许空说明GroupsIDIntN团队编号,系统自动产生,唯一GroupsNameVarchar(100)N团队名RemarkVarchar(100)N备注1.1.3JobPosition职位表表结构如表6-4所示,该表用来记录职位信息。表6-4数据表JobPosition字段名数据类型允许空说明JobPositionIDIntN职位编号,系统自动产生,唯一JobPositionNameVarchar(100)N职位名RemarkVarchar(100)N备注53
哈尔滨工业大学远程教育本科毕业设计(论文)1.1.1Specialty专业表表结构如表6-5所示,该表用来记录专业信息。表6-5数据表Specialty字段名数据类型允许空说明SpecialtyIDIntN专业编号,系统自动产生,唯一SpecialtyNameVarchar(100)N专业名RemarkVarchar(100)N备注1.1.2SchoolGrade学历表表结构如表6-6所示,该表用来记录学历信息。表6-6数据表SchoolGrade字段名数据类型允许空说明SchoolGradeIDIntN学历编号,系统自动产生,唯一SchoolGradeNameVarchar(100)N学历名RemarkVarchar(100)N备注1.1.3CheckSheet考勤表表结构如表6-7所示,该表用来记录考勤信息。表6-7数据表CheckSheet字段名数据类型允许空说明CheckSheetIDIntN考勤编号,系统自动产生,唯一UserIDVarchar(50)N用户编号CheckDateVarchar(15)N考勤日期CheckInTimeVarchar(50)N用户显示名CheckOutTimeVarchar(50)Y身份证号ReasonVarchar(2)Y性别53
哈尔滨工业大学远程教育本科毕业设计(论文)odiDateVarchar(50)Y邮政编码1.1模块设计1.1.1系统登录模块所有用户均可见。提供用户登录系统的管理,制未经许可的用户擅自操作。用户在此输入“用户名”、“密码”,提交后将与表“User”中LoginID与Password比较,相同的则进入系统,并根据不同的权限导入不同的菜单,否则提示密码错误。1.1.2找回密码模块所有用户均可见。为用户提供忘记密码后找回密码的功能,用户可以输入登陆名或者电子邮箱来找回丢失的密码。在输入正确的登录名或电子邮箱后,密码将会发送到用户的电子邮箱中,如果输入错误,提示错误并返回。1.1.3修改密码模块登录后的用户可见。为用户提供修改密码的功能,系统保存修改到数据库后需要进行提示。1.1.4个人资料修改模块登录后的用户可见。客户可以修改自己的个人信息,注意有些字段时不能被自身修改的,必须由管理人员设定,如:LoginID(登录名)和Status(状态)。1.1.5基础数据管理模块人事部门管理人员可见,用来管理各项基础数据。用户选择需要操作的选项,新增/修改数据后点击保存,完成基础数据管理工作。该操作主要针对数据库Department,Groups,JobPosition,Specialty,SchoolGrade表进行操作。53
哈尔滨工业大学远程教育本科毕业设计(论文)1.1.1人事数据维护模块人事部门管理人员可见,用来管理人事数据。用户可以进行增加/修改/Disable/Enable操作。点击保存后存入数据库User表。1.1.2考勤数据维护模块人事部门管理人员可见,用来管理考勤机采集的数据。用户新增/修改数据后点击保存,完成考勤数据维护工作。操作主要针对数据库CheckSheet表进行操作。1.1.3个人考勤查询模块登录后用户可见,用来查询个人的考勤记录,根据输入的不同条件,产生查询结果,结果可以导成PDF保存。1.1.4综合考勤报表模块人事部门管理人员可见,用来进行综合的查询,查询条件更加丰富。根据输入的不同条件,产生查询结果,结果可以导成PDF保存。1.2小结本章对系统使用的数据库,模块进行了详细的设计,为今后的编码指明了方向。53
哈尔滨工业大学远程教育本科毕业设计(论文)第1章系统实现1.1模块的实现1.1.1系统登录模块模块页面如图7-1所示,用户输入用户名和密码之后,点击“登录”按钮,如果用户名和密码正确,将进入系统,否则将会给出提示。图7-1系统登陆页面1.1.2找回密码模块模块页面如图7-2所示,用户输入用户名或者电子邮箱找回密码,系统会自动查找数据库,如果用户名或者邮箱输入正确,系统将会把密码发送到用户的邮箱中。图7-2找回密码页面1.1.3修改密码模块53
哈尔滨工业大学远程教育本科毕业设计(论文)模块页面如图7-3所示,输入旧密码并重复输入2次相同的新密码后,点击“提交修改”,将会保存到数据库。图7-3修改密码页面1.1.1个人资料修改模块模块页面如图7-4所示,登录名和状态不能由个人进行修改,其余资料可以个人进行维护。点击“提交修改”之后系统会把数据保存到数据库,并给出保存成功的提示,如图7-5所示。图7-4个人资料修改页面53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-5保存成功提示信息1.1.1数据管理模块模块模块初始页面如图7-6所示。图7-6数据管理模块初始页面在“基础数据类型”下拉框中,选中需要维护的基础数据,系统会自动显示出该类型所有的值,如图7-7所示。图7-7查询结果页面53
哈尔滨工业大学远程教育本科毕业设计(论文)在某一行上点击修改,进入修改状态,如图7-8所示,修改完成之后点击“保存”,返回查询结果页面。图7-8基础数据修改页面在查询结果的某一行上点击删除,会弹出“确认要删除吗”的提示,如图7-9所示,如果点击“确定”,系统就会删除该行,删除完之后会自动回到显示状态。53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-9基础数据删除页面点击“新增”按钮,系统能够会跳转到新增页面,如图7-10所示,输入数据后点击“保存”,系统保存数据之后返回查询结果页面。图7-10新增基础数据页面1.1.1人事数据维护模块模块页面如图7-11所示,可以根据部门/状态/姓名的一部分进行查找。图7-11人事数据查询结果页面在某一行上点击修改,进入修改页面,如图7-12所示,修改完成之后点击“保存”,返回人事数据查询结果页面。53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-12人事数据资料修改页面在某一行上点击删除,会弹出“确认要删除吗”的提示,如图7-13所示,如果点击“确定”,系统就会删除该行。图7-13人事数据资料删除页面点击“新增”按钮,系统能够会跳转到新增页面,如图7-14所示,输入数据后点击“保存”,系统保存数据之后返回初始页面。53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-14新增人事数据页面1.1.1考勤数据维护模块模块页面如图7-15所示,可以根据考勤日期的时间段/姓名的一部分进行查找。图7-15考勤数据查询结果页面在某一行上点击修改,进入修改状态,如图7-16所示,修改完成之后点击“保存”,返回考勤数据查询结果页面。53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-16考勤数据修改页面在某一行上点击删除,会弹出“确认要删除吗”的提示,如图7-17所示,如果点击“确定”,系统就会删除该行。图7-17考勤数据删除页面点击“新增”按钮,系统能够会跳转到新增页面,如图7-18所示,输入数据后点击“保存”,系统保存数据之后返回初始页面。53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-18考勤数据新增页面1.1.1个人考勤查询模块页面如图7-19所示,用来查询用户个人考勤记录,用户选择时间段,点击查询,可以得到相应的结果。可以按照考勤日期进行排序,点击“导出PDF”,会保存结果到pdf文件,点击“打印”会打印当前页面。图7-19个人考勤查询页面1.1.2综合考勤报表模块页面如图7-20所示,用来综合查询考勤记录,管理员选择姓名/部门/时间段,点击查询,可以得到相应的结果。可以按照考勤日期进行排序,点击“导出PDF”,会保存结果到pdf文件,点击“打印”会打印当前页面。53
哈尔滨工业大学远程教育本科毕业设计(论文)图7-20综合考勤报表查询页面1.1小结在需求分析和详细设计的基础上,我们完成了系统编码。数据库的实现参考详细设计的情况,在真实的SqlServer2000上进行了数据库的创建和表的创建,并插入了模拟数据;具体模块在实现后,参考具体的页面后,我们进行了具体的说明。53
哈尔滨工业大学远程教育本科毕业设计(论文)结论考勤查询系统在针对公司员工考勤管理的特点进行针对性的应用需求分析的基础上开发,为降低考勤管理的劳动强度,提高工作效率提供了保障,并且针对应用实际需求增加了查询功能,可以让考勤管理者彻底摆脱手工管理模式。系统开发过程使用用微软最流行的vs2005和Sqlserver2000实现系统的全部功能,使得系统调试简单,效率高,容易维护。在用户界面上,除登陆页面之外其他界面采用完全一致的界面风格,易于使用者快速上手。53
哈尔滨工业大学远程教育本科毕业设计(论文)致谢通过这次的毕业设计,我了解了目前流行的动态商务网站的构成和运作原理,掌握了用Vs2005+Asp.net构建动态网站的相关知识和技术原理,锻炼了自己的动手实践能力。更重要的是,通过这次的毕业设计,我培养出了刻苦钻研的学习精神和严肃认真的学习态度,这对我以后的学习和工作有很大的益处。在这次毕业设计过程中,我得到了指导老师方连众老师的悉心指导。在此,我对他们表示衷心的感谢!53
哈尔滨工业大学远程教育本科毕业设计(论文)参考文献[1]郭福顺等著,数据结构与算法基础,大连理工大学出版社,2006:23-42。[2]郑人杰等著,实用软件工程,清华大学出版社,2004:36-55。[3]杜兆将等著,SQLServer数据库管理与开发教程[M].北京大学出版社,2006,37-63.[4]施伯乐,丁宝康,汪卫编著,数据库系统教程,高等教育出版社,2003,42-127.[5]王利著,数据库基础与应用,中央广播电视大学出版社,1997年:21-43。[6]JohnL.Viescas等著,SQLQueriesforMereMortals:28-41。[7]DusanPetkovic著,SQLServer2000基础教程,清华大学出版社,2001:74-94。[8]JosephJ.Bambara著,SQLServer开发指南,电子工业出版社,2000:193-208。[9]郭胜等著,C#.NET程序设计教程,清华大学出版社,2002:161-194。[10]桂思强著,ASP.net与数据库程序设计,中国铁道出版社,2002:55-181。[11]SimonRobinson等著,康博译C#高级编程清华大学出版社,2002:125-306。[12]徐建波,周新莲等著,Web设计原理于编程技术,中南大学出版社,2005,172-238.[13]JohnSharp,MicrosoftVisualC#2005StepbyStep,MicrosoftPress,2006:123-179。[14]MatthewMacDonald等著,ProASP.NET2.0inC#2005,Apress,2007:151-619。[15]JeffreyRichter,CLRviaC#,SecondEdition(ProDeveloper),MicrosoftPress,2007:439-506。53
哈尔滨工业大学远程教育本科毕业设计(论文)附录1A.中文翻译ASP.NET应用程序在传统的桌面程序的编码中,一个应用程序有一个可执行的文件夹包含了相关的支持文件,例如,一个典型的windows程序包含一个主要的可执行文件(exe),支持组件(dll),数据库和配置文件之类的其他的资源文件。但一个ASP.NET应用程序跟传统的模式有着很大的不同。关于多数基本准则,一个ASP.NET应用程序是一个在网络服务器上的综合体,它的主要内容包括:文件,页面,句柄,模块和能够被从虚拟目录调用的可执行程序(包含它的子目录)。在这章里面,你将学习为什么会有这些不同的东西存在并且能够近距离的体验ASP.NET应用程序是如何配置和发布的。你还将学习到的还有在ASP.NET应用程序中如何使用组件和HTTP句柄。.NET2.0中网络应用程序的改变网络应用程序模型在ASP.NET2.0中保留了最基本的东西,最重大的改变是改进了配置模型,使用了可以编程的API和图形化的网络页面。这里是你将看到的变更,根据它们在本书出现的章节进行列举:u应用程序目录结构:ASP.NET1.X有一个特别的网络应用程序目录----BIN目录,那里装了编译好的程序,ASP.NET2.0增加了几个目录用来存放元程序,可定制的资源文件,浏览器定义文件,themes文件等等。u配置API:你现在可以使用一个句柄来设置class的读写甚至所有的信息在一个配置文件中。uWAT:新的站点管理员工具使用新的可配置API,由此带来一个很容易使用的配置页面来配置网络应用程序。u片段加密配置:配置文件通常包含一些敏感的数据,现在你可以很容易的通过加密片段保护它们。如果你是一个经验丰富的ASP.NET1.X开发人员,你可以通过本章了解增加的内容。一个ASP.NET应用程序的解剖ASP.NET应用程序和服务器/客户端应用程序的不同之处在于做出了很多感官上的不同,当你考虑ASP.NET执行模式的时候。不同于一个窗体应用程序,最终用户从来不用直接运行一个ASP.NET应用程序,他们只需要打开一个浏览器比如IE,输入一个指定的URL(比如:Http://www.mysite.com/mypage.aspx),通过HTTP,这个请求将会被网络服务器收到。当你使用VisualStudio开发工具调试时,你将单独使用一个测试服务器;当你发布应用程序时,你能使用IIS网络服务器,具体请看第18章。53
哈尔滨工业大学远程教育本科毕业设计(论文)网络服务器不能区分应用程序—它只能简单的传递请求到ASP.NET工作进程中,然而,ASP.NET工作进程会根据不同的虚拟目录认真地隔离代码执行到不同的应用程序域中。在相同的应用程序域中,网络页面和网络服务都是虚拟目录(或者一个子目录)中的主机。网络页面和网络服务分别处于不同的虚拟目录中执行隔离开来的应用程序域。笔记:一个虚拟目录是一个简单的目录,它通过网络服务器显示在外面,在18章中,你将学习怎么建立虚拟目录。当在VisualStudio中使用测试服务器的时候,你的网络工程路径是被作为一个虚拟路径处理的。唯一的例外是测试服务器只支持本地连接(初始化的请求是来自当前的计算机)。应用程序域一个应用程序域是一个.NET进程的等价物――被CLR强制进行分界以确保一个应用程序不能影响到其他的。下面的描述是一个应用程序域模型的直接结果:u所有的网络页面和网络服务都是一个单独的网络应用程序,在内存中共享这同样的内存资源,像一个全局应用程序数据,每一个用户都有一个对话资料和缓冲资料。信息不能通过其他ASP.NET或者ASP应用程序直接接触。u所有的网络页面和网络服务都是一个单独的网络应用程序,共用着核心配置文件。你可以定制一些配置在虚拟目录的子目录中。例如,你可以仅仅对网络应用程序设置一个认证的机构,而不管有多少子目录。你能设置不同的验证规则在每一个目录中进行配置谁可以访问不同的页面。u所有的网络应用程序使用一个全局的应用程序事件在不同的阶段(当一个应用程序域第一次创建的时候,当它销毁的时候等等),通过使用虚拟目录global.asax中的代码,捕捉这些全局应用程序事件,并可以附加上其他事件。换句话说,虚拟目录是一个基本的分组结构,用来界定一个ASP.NET应用应用程序。你可以建立一个合法的ASP.NET应用程序使用一个单独网络页面(.aspx文件)或者网络服务器(.asmx文件)。不管怎样,ASP.NET应用程序能包含下面所有的成分:u网络页面(.aspx文件):这些是所有ASP.NET应用程序的基础;u网络服务(.asms文件):通过它们,你能够同享一些有用的功能通过应用服务在其他电脑或者其他平台上。u代码-后文件:通过使用的代码模型来使用,你可以进行源文件区分。如果这些文件是C#语言编写的,他们的扩展名将是.cs。u配置文件(web.config):这个文件包含了应用程序级别的设置,可以配置所有的东西从安全到调试到状态管理。uGolbal.asax:这个文件包含了对全局的应用程序有作用的事件的句柄(例如当应用程序第一次开始启动的时候)。u其他组件:这是一些编译的集合含了一些分离的组件—你开发的或者第三方的组件。组件允许你分开商业和数据访问的逻辑并且能够很方便的创建用户控件。53
哈尔滨工业大学远程教育本科毕业设计(论文)当然,一个虚拟目录能够保持很多ASP.NET网络应用程序将使用的额外的资源,包括样式表,图片,xml文件等。另外,你还能扩展ASP.NET模型使用开发用的专用组件,比如Http句柄和Http模型,那些能够插入到你的应用程序中并且加入到ASP.NET网络请求进程中去。笔记:在同一个虚拟目录下可能有不同的文件类型属于不同的ISAPI扩展。据一个例子,如果你混合使用.aspx和.asp文件,再例如你映射.aspx网页文件ASP.NET1.1版本,同时.asmx网络服务文件版本是2.0的。在上述的例子中,虚拟目录相应超过一个应用程序,这些应用程序仅仅通过网络应用程序处理的情况下。另外,每一个应用程序渐渐属于不同的ISAPI扩展。应用程序生命周期在建立一个应用程序域的时候,ASP.NET使用了一种缓慢的初始化技术,这种技术的使用,让网络应用程序的应用程序域是在第一次从页面或者网络服务收到请求后才建立起来的。一个应用程序域能够在很多种情况下被关闭,包括如果网络服务器自身被关闭。但是,通常更多的原因是,应用服务器因为相应错误的条件或者配置变更,而在新的应用程序域中自己重新启动。例如,依靠电脑上的machine.config文件,一个ASP.NET应用程序可以周期性的循环使用当某一个确定的开始到达的时候。这种模式被设计用来保持一个应用程序的健康和用来删除一些特定隐藏的问题被发现的情况。依靠你机器上的machine.config配置,应用程序域可以反复的次数由应用服务域运行的情况下的时间的长度,请求序列的数量,或者内存的使用情况(请见18章)来决定。ASP.NET自动重复使用应用程序域当你修改应用程序的时候。比如你修改了web.config文件,又例如你替换了已经存在的网络页面文件或者dll组件,在以上描述的情况下,ASP.NET开始一个新的应用程序域并且将来的请求回保持在已经存在应用程序域中直到足够长的时间没有相应(包括请求序列)。小贴士:你可以关闭一个网络服务域使用staticHttpRuntime.UnloadAppDomain()方法(应用服务将会自动重新启动在下次收到请求的时候)。这种技术很少用到,但是它是非常有用的,当你集中了一定数量的网络应用程序在同一个服务器上,并且同时被使用。既然这样,内存的花费在保持应用程序域生存上的超过了增加服务器响应速度的请求。53
哈尔滨工业大学远程教育本科毕业设计(论文)B.英文原件MatthewMacDonald等著,ProASP.NET2.0inC#2005,Apress,2007:151-153页53
哈尔滨工业大学远程教育本科毕业设计(论文)53
哈尔滨工业大学远程教育本科毕业设计(论文)53
哈尔滨工业大学远程教育本科毕业设计(论文)附录2部分源代码实现DBAccess类该类用来实现对数据库的操作,存放在Kaoqin.Common.DBAccess.cs文件中。使用的时候只需要new一个DBAccess的对象,就可以调用它的方法。publicclassDBAccess{privatestringsDBConn;publicDBAccess(){//从web.config文件中获得数据库的配置路径sDBConn=ConfigurationManager.AppSettings["strConn"].ToString();}privateSqlConnectionGetConnection(){SqlConnectionconn=newSqlConnection(sDBConn);returnconn;}privatevoidPrepareCommand(SqlConnectionconn,SqlCommandcmd,stringcmdText){if(conn.State==ConnectionState.Closed){conn.Open();}cmd.Connection=conn;cmd.CommandText=cmdText;}//执行sql的函数,没有返回值publicvoidExecuteNonQuery(stringcmdText){using(SqlConnectionconn=GetConnection()){SqlCommandcmd=conn.CreateCommand();53
哈尔滨工业大学远程教育本科毕业设计(论文)PrepareCommand(conn,cmd,cmdText);cmd.ExecuteNonQuery();conn.Close();}}//执行sql并返回DataTablepublicDataTableExecuteDataTable(stringcmdText){DataSetds=newDataSet();using(SqlConnectionconn=GetConnection()){SqlCommandcmd=conn.CreateCommand();PrepareCommand(conn,cmd,cmdText);using(SqlDataAdapteradp=newSqlDataAdapter()){adp.SelectCommand=cmd;adp.Fill(ds);}conn.Close();}returnds.Tables[0];}}实现Util类该类用来实现对保存一些与数据库无关的公共函数,存放在Kaoqin.Common.Util.cs文件中。因为是publicstatic的,所以直接用类名.方法名调用,不需要实例化Util类。publicclassUtil{publicstaticstringrtnDBNull(Objectitem){if(item==DBNull.Value)return"";elsereturnitem.ToString().Trim();53
哈尔滨工业大学远程教育本科毕业设计(论文)}publicstaticvoidsetDropDownList(DropDownListddl,stringselStr){ddl.SelectedItem.Selected=false;if(selStr==""||selStr=="0")ddl.SelectedIndex=-1;elseddl.Items.FindByValue(selStr).Selected=true;}publicstaticstringconvertDropDownListValue(DropDownListddl){if(ddl.SelectedIndex==0||ddl.SelectedIndex==-1)return"0";elsereturnddl.SelectedValue;}}实现Util类该类用来实现对保存初始化下拉框的方法,存放在Kaoqin.Common.DALayer.cs文件中。因为是publicstatic的,所以直接用类名.方法名调用,不需要实例化DALayer类。publicstaticvoidBindDepartment(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindGroups(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindJobPosition(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindSpecialty(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindSchoolGrade(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindCName(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindHour(refSystem.Web.UI.WebControls.DropDownListddl)publicstaticvoidBindMinute(refSystem.Web.UI.WebControls.DropDownListddl)系统框架的搭建先制作3个web控件,存放在Kaoqin.Controls下面,分别是:Footer.ascx,Header.ascx,LeftMenu.ascx,分别对应页脚,页头,左边菜单。Footer.ascx和Header.ascx就不说了,LeftMenu.ascx菜单是从Web.sitemap中读取菜单的。LeftMenu.ascx页面文件:<%@ControlLanguage="C#"AutoEventWireup="true"CodeBehind="LeftMenu.ascx.cs"Inherits="Kaoqin.Controls.LeftMenu"%>53
哈尔滨工业大学远程教育本科毕业设计(论文)<%@RegisterAssembly="AjaxControlToolkit"Namespace="AjaxControlToolkit"TagPrefix="cc1"%>functionchangeCss(obj,type){varclassName=obj.className;if(obj.selected=="true")return;if(type=="ON"){obj.className="leftmenu_selected";}else{obj.className="leftmenu";}}functionchangeSubCss(obj,type){varclassName=obj.className;if(obj.selected=="true")return;if(type=="ON"){obj.className="leftmenu_sub_selected";}else{obj.className="leftmenu_sub";}} 53
哈尔滨工业大学远程教育本科毕业设计(论文)53
哈尔滨工业大学远程教育本科毕业设计(论文) LeftMenu.ascx.cs文件:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingAjaxControlToolkit;namespaceKaoqin.Controls{publicpartialclassLeftMenu:System.Web.UI.UserControl{privateArrayListlist;privateintcount;protectedvoidPage_Load(objectsender,EventArgse){list=newArrayList();count=SiteMap.RootNode.ChildNodes.Count;Accordion1.DataSource=SiteMap.Provider.RootNode.ChildNodes;Accordion1.DataBind();}privatestaticboolKeyContains(SiteMapNodenode,stringkey){if(!node.HasChildNodes){53
哈尔滨工业大学远程教育本科毕业设计(论文)if(node.Title=="ReportManagement"&&key.IndexOf("ReportManagement")!=-1)returntrue;}foreach(SiteMapNodeninnode.ChildNodes){if(n.Url.Contains(key))returntrue;}returnfalse;}protectedvoidMenuRepeater_ItemDataBound(objectsender,RepeaterItemEventArgse){if(e.Item.ItemType!=ListItemType.Item&&e.Item.ItemType!=ListItemType.AlternatingItem)return;SiteMapNodenode=(SiteMapNode)e.Item.DataItem;HyperLinkMenuLink=(HyperLink)e.Item.FindControl("MenuLink");MenuLink.Attributes.Add("onmouseover","javascript:changeSubCss(this,"ON")");MenuLink.Attributes.Add("onmouseleave","javascript:changeSubCss(this,"OFF")");if(node.Url.Contains(Request.Url.AbsolutePath)){MenuLink.CssClass="leftmenu_sub_selected";MenuLink.Attributes.Add("selected","true");}else{MenuLink.CssClass="leftmenu_sub";MenuLink.Attributes.Add("selected","false");}53
哈尔滨工业大学远程教育本科毕业设计(论文)MenuLink.Text=node.Title;MenuLink.NavigateUrl=node.Url;}protectedvoidAccordion1_ItemDataBound(objectsender,AccordionItemEventArgse){SiteMapNodenode=(SiteMapNode)e.AccordionItem.DataItem;if(e.AccordionItem.ItemType==AccordionItemType.Header){LabelMenuLabel=(Label)e.AccordionItem.FindControl("MenuLabel");ImageMenuImage=(Image)e.AccordionItem.FindControl("MenuImage");PanelMenuPanel=(Panel)e.AccordionItem.FindControl("MenuPanel");MenuLabel.Text=node.Title;MenuLabel.Attributes.Add("onmouseover","javascript:changeCss(this,"ON")");MenuLabel.Attributes.Add("onmouseleave","javascript:changeCss(this,"OFF")");if(KeyContains(node,Request.Url.AbsolutePath.Replace(Request.Url.Segments[Request.Url.Segments.Length-1],""))){MenuLabel.CssClass="leftmenu_selected";Accordion1.SelectedIndex=list.Count;MenuLabel.Attributes.Add("selected","true");}else{MenuLabel.Attributes.Add("selected","false");}if(Accordion1.SelectedIndex==0)HiddenField1.Value=MenuImage.ClientID+"expand";MenuPanel.Attributes.Add("onclick","setMenuImage(""+MenuImage.ClientID+"")");list.Add(MenuImage.ClientID);53
哈尔滨工业大学远程教育本科毕业设计(论文)if(list.Count==count){stringpath="../";stringjs=@"";Page.ClientScript.RegisterStartupScript(GetType(),"pic",js);}}if(e.AccordionItem.ItemType==AccordionItemType.Content){RepeaterMenuRepeater=(Repeater)e.AccordionItem.FindControl("MenuRepeater");MenuRepeater.DataSource=node.ChildNodes;MenuRepeater.DataBind();}}}}新建一个MasterPage文件,取名为MasterPage.master,作为页面模版,内容包含Footer.ascx,Header.ascx,LeftMenu.ascx3个控件。<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"Inherits="MasterPage"EnableTheming="true"%><%@RegisterSrc="Controls/LeftMenu.ascx"TagName="LeftMenu"TagPrefix="uc3"%><%@RegisterAssembly="AjaxControlToolkit"Namespace="AjaxControlToolkit"TagPrefix="cc1"%><%@RegisterSrc="Controls/Footer.ascx"TagName="Footer"TagPrefix="uc2"%><%@RegisterSrc="Controls/Header.ascx"TagName="Header"TagPrefix="uc1"%>网络考勤查询系统 body,html{margin:0;padding:0;width:100%;height:100%;}53
哈尔滨工业大学远程教育本科毕业设计(论文)#footer{height:25px;}