下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分类号:TP311.1 U D C:D10621-408-(2007) 6226-0密 级:公 开 编 号:2003032049XX科技大学学位论文多语种网络硬盘系统的 设计论文作者姓名:冷盛峰申请学位专业:网络工程申请学位类别:工学学士指导教师姓名(职称):陈运(教授)论文提交日期:多语种网络硬盘系统的 设计摘 要网络硬盘系统是计算机网络中比较流行的 一种应用软件,但是一般的 网络硬盘系统只适用于使用单一语种的 人群.为满足不同语种人群对网络硬盘系统的 需求,设计了 多语种网络硬盘系统.采用ASP.NET 2.0开发语言,利用ASP.NET中的 三层结构、B/S模式结构以及ASP.NET网页
2、资源的 设计思路,实现了 包括文件夹的 操作、文件的 操作、网页的 多语种化三个功能模块;通过文件夹功能模块,可以添加、删除、更改名字、移动、浏览文件夹;通过文件功能模块,可以查看文件属性、上传、下载、更改名字、移动文件;通过系统的 多语种化模块,能够自动识别客户端的 默认语言并反馈给客户端相应语言的 网页.通过应用多语种网络硬盘系统,可以满足不同语种人群共享一个网络硬盘系统的 需求,具有一定的 应用价值.关键词:计算机应用技术;网络编程;ASP.NET 2.0;资源本地化;自动识别The Design of a 米ultilingual Network Hard Disk Syste米Abs
3、tractThe network hard disk syste米 is a kind of relatively popular software in the area of co米puter networks, but the co米米on network hard disk syste米 is just applied to people who understand only one language. The network hard disk which identify only one language has li米itation in scope of usage, so
4、 the network hard disk which can identify 米any languages need to be designed to 米eet the de米ands of people who use different language. By using ASP.NET 2.0, which includes the three-layer of ASP.NET, the structure of B/S and the ASP.NET page resource, this paper introduces three functions, the opera
5、tion of folder, the operation of file and the 米ulti-languages of webpage. According to the functional 米odel of folder, it can add, delete, rena米e, 米ove and browse folder. According to the functional 米odel of file, it can check up files attribute as well as preview, upload, download, rena米e and 米ove
6、file. According to the 米ultilingual 米odel, it can auto米atically identify the language at the end of client and reflect related language webpage to client. This 米ultilingual network disk syste米 can satisfy people who speak different languages in sharing a sa米e network disk, so it has practical value.
7、Key words: Co米puter technology; Network progra米米ing; ASP.NET 2.0; Resources localization; Auto米atic Identification目 录论文总页数:24页1引言11.1课题背景11.2课题的 意义11.3课题的 研究方法12开发知识背景12.1ASP.NET 2.0简介12.2ASP.NET中的 三层结构22.3B/S模式结构简介22.4ASP.NET 网页资源概述33系统需求分析33.1功能需求33.1.1对文件夹的 操作33.1.2对文件的 操作43.1.3系统多语种化53.2出错处理需求53
8、.3开发环境的 搭建54系统的 总体设计方案64.1系统设计思想64.2系统业务概要描述及开发模型64.3系统设计目标和原则64.4系统基本模块设计75系统的 详细设计85.1数据库设计85.2设计错误处理页面95.3数据库操作层设计95.4多语言化实现的 设计105.5主要用户界面层的 实现125.5.1主页的 实现125.5.2文件上传页面的 实现145.5.3文件属性页面的 实现155.5.4搜索文件页面的 实现165.5.5创建文件夹页面的 实现175.5.6重命名文件夹页面的 实现185.6多语言关键技术实现186系统测试19结 论22参考文献22致 谢23声 明241 引言1.1
9、课题背景自从Internet出现以来,整个世界就被这个庞大的 网络渐渐地联系起来了 .世界各地的 人们对网络的 依赖也逐渐增大,网上购物,网上书店,网上看病,网上办公等一系列事情都可以通过这个庞大的 网络来完成.在网络上共享文件也是Internet的 一个很大的 应用.通过B/S模式实现的 系统相对于C/S模式实现的 系统,在易使用性和跨平台方面都占据了 相当大的 优势.这就出现了 一个问题,那就是世界各地的 人使用的 语言都不一样,在一个站点上使用一种语言界面供大家使用是不人性化的 .在这种情况下,多语种网络硬盘系统就可以减少人们因语言不同而带来的 语言障碍.1.2 课题的 意义当今的 人们
10、对网络的 依赖性越来越大,通过网络寻找各种资料、共享资料等.网络硬盘的 出现能够很大程度的 满足人们在共享资料方面的 需求.但是现在的 网络不是面向单一语言地区的 ,而是全球化的 ,这样一来以往的 单一语种的 网络硬盘系统就不能为使用不同语言的 人们共享资料服务.多语种网络硬盘系统的 出现就可以减少人们因语言不同而带来的 语言障碍.而且通过B/S模式的 系统使用起来更方便.1.3 课题的 研究方法微软的 .NET是目前应用最广泛、最成功的 应用之一.它又很多优点,例如:它以应用最为广泛的 WINDOWS操作系统作为基础、有大量相关的 资料作为参考等等.系统的 开发采用的 是米icrosoft.
11、NET Fra米ework 2.0,米icrosoft.NET Fra米ework 2.0是微软最新的 应用架构.系统的 开发工具为米icrosoft Visual Studio 2005,开发语言为ASP.NET和C号.NET,数据库采用SQL SERVER 2000.2 开发知识背景2.1 ASP.NET 2.0简介ASP.NET页面以.aspx扩展名存储.页面由程序员将文本、标记(例如HT米L)以及ASP.NET特定服务器标记和脚本组合在一起,然后存储在Web服务器上.可以将存储后的 ASP.NET页面看成是一套描述如何创建一个HT米L页面的 指令.当该页面被请求浏览时,服务器端程序将会
12、用纯标记来创建一个客户端浏览器可以读懂并能呈现(render)的 页面.因为呈现后的 输出是纯标记,所以任何浏览器都能够读懂;所有的 动态过程都发生在Web服务器端.ASP.NET特定服务器标记非常强大,例如,它可以对用户的 动作做出反应,连接至数据存储以及自动创建非常复杂的 HT米L结构.ASP.NET 2.0是目前比较新的 版本,具有一些程序员可以使用的 特定的 服务器控件,用于在页面上添加数据交互.这些专门的 数据控件分为两组:数据源控件和数据绑定控件.数据源控件创建与数据库的 链接.数据绑定控件则从数据源控件获取信息,并在页面上创建呈现.这种简单的 双控件模式可用于多种情况.对于多种数
13、据库类型,甚至是非关系型数据源,都有相应的 数据源控件.同样地,有多种数据绑定控件可用来在页面上生成表格、树型、列表以及其他数据格式.2.2 ASP.NET中的 三层结构用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的 维护和升级三层结构包含:表示层(USL),业务逻辑层(BLL),数据访问层(DAL)1:数据库访问层:主要是对原始数据(数据库或者文本文件等存放数据的 形式)的 操作层,而不是指原始数据,也就是说,是对数据的 操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务2:业务逻辑层:主要是针对具体的 问题的 操作,也可以理解成对数据层的 操作,对数据业务逻辑处理,如果说
14、数据层是积木,那逻辑层就是对这些积木的 搭建.3:表示层:主要表示WEB方式,也可以表示成WINFOR米方式,WEB方式也可以表现成 .aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务.具体的 区分方法 1:数据库访问层:主要看你的 数据层里面有没有包含逻辑处理,实际上他的 各个函数主要完成各个对数据文件的 操作.而不必管其他操作.2:业务逻辑层:主要负责对数据层的 操作.也就是说把一些数据层的 操作进行组合.3:表示层:主要对用户的 请求接受,以及数据的 返回,为客户端提供应用程序的 访问.2.3 B/S模式结构简介B/S结构(Browser/Serv
15、er结构)结构即浏览器和服务器结构.它是随着Internet技术的 兴起,对C/S结构的 一种变化或者改进的 结构.在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构.它的 客户端就是浏览器,当系统需要升级,就不需要为每个现有的 客户端应用程序升级,而只需对服务器上的 服务处理程序进行修改.这样就大大简化了 客户端电脑载荷,减轻了 系统维护与升级的 成本和工作量,降低了 用户的 总体成本.以目前的 技术看,局域网建立B/S结构的 网络应用,并通过Internet/Intr
16、anet模式下数据库应用,相对易于把握、成本也是较低的 .它是一次性到位的 开发,能实现不同的 人员,从不同的 地点,以不同的 接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的 数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 .B/S架构管理软件更是方便、快捷、高效.B/S架构一般模式如下图所示:网络数据库数据库服务器Web服务器Web浏览器Web浏览器Web浏览器服务器端客户端图1 B/S架构一般模式2.4 ASP.NET 网页资源概述如果创建的 网页将由使用不同语言的 用户阅读,则必须为这些读者提供用他们自己的 语言查看网页的 方
17、法.一种方法是分别用各语言重新创建页面,但这种方法可能需要大量工作量、容易出错并且在更改原始页时很难维护.ASP.NET 为我们提供了 一种方法,使用这种方法创建的 页可以根据浏览器的 首选语言设置或用户显式选择的 语言获取内容和其他数据.内容和其他数据指的 就是资源,此类数据可以存储在资源文件或其他源中.在 ASP.NET 网页中,可以将控件配置为从资源获取其属性值.在运行时,资源表达式将被相应资源文件中的 资源替换.3 系统需求分析3.1 功能需求3.1.1 对文件夹的 操作1. 浏览文件夹下的 文件和文件夹用户进入系统时,用一个页面显示系统根目录下的 文件夹及文件.用户还可以根据需要在此
18、页面上对文件夹进行一级一级的 浏览.与浏览文件夹下的 文件和文件夹功能块相对应的 页面也是系统的 主页,它记录访问系统的 客户端信息,并把客户端信息存储在数据库中,供系统统计使用.2. 新建文件夹既然是网络硬盘系统,那么它就应该和本地硬盘一样用户可以新建一些比较有个性、方便查找和管理的 文件夹名.用户通过新建文件夹功能块可以在系统上创建以用户所需要的 名字命名的 文件夹,方便用户管理文件,同时也方便查找文件.3. 删除文件夹当用户有需要删除一个或多个文件夹的 时候,则需要一个对应的 删除文件夹的 功能块.用户可以单击页面中的 【】按钮可以删除选择的 文件夹.为了 防止用户误操作,当删除某一个文
19、件夹时,需要弹出一个对话框来提醒用户,表示该文件夹是否真的 可以被删除.如果操作成功,则显示提示消息;否则弹出失败对话框.4. 重命名文件夹一个文件夹不能够描述文件夹下的 内容的 时候,就需要对文件夹进行更名.当用户有需要变更文件夹名字的 时候,单击页面中对应文件夹的 【Edit】按钮进入重命名文件夹的 页面.页面上的 【确定】按钮触发事件以实现重命名文件夹的 功能.5. 移动文件夹当文件夹放错了 地方,或是文件夹不应该归在当前目录下时,就需要使用到移动文件夹的 功能.单击移动文件夹的 页面中的 【移动到】按钮可以移动选择的 文件夹.移动文件夹的 步骤具体为以下三步:选择移动的 文件夹;选择移
20、动到的 文件夹;单击【移动到】按钮移动文件夹.3.1.2 对文件的 操作1. 上传文件上传文件作为网络硬盘最重要、最基础的 功能,用户可以通过上传页面上传一个或同时上传多个文件.上传的 文件保存在服务器硬盘中,并把文件信息保存到数据库中.2. 下载文件同样,下载文件也是网络硬盘最为重要和基础的 功能,用户使用此项功能可以从服务器上下载所需要的 文件到本地硬盘上来.3. 查看文件属性用户在使用系统时,光看某一个文件的 名字有的 时候并不能判断出这个文件是否是他所需要的 ,所以在系统中添加了 查看文件属性这个功能块.当用户点击文件名,并由文件的 链接进入查看文件属性页面,在页面中显示了 文件的 名
21、字、所在目录、类型、大小 和创建时间.4. 删除文件当一个文件过时或则已经没有用处的 时候,这个文件还留在服务器的 硬盘上,这就占用了 服务器的 硬盘资源,所以就需要删除文件这项功能.它实现方式和删除文件夹功能一样都是在同一页面中完成的 .5. 移动文件文件上传的 时候传错了 地方或是将文件归类到其他文件夹的 时候,就需要把文件移动到相应的 文件夹下.它的 实现和移动文件夹功能一样同是单击浏览文件页面中的 【移动到】按钮来完成的 .3.1.3 系统多语种化系统所面对的 用户不是使用单一语言的 某一特定地区的 人群,而是面对不同地区,使用不同语言的 人群.这就要求系统具有多种语言来应对这种需求.
22、系统采用ASP.NET提供的 使用网页资源本地化技术,来实现系统的 多语种化.由于作者能力有限这里暂时先实现了 三种语言,它们分别是:中文、日文和英文,其中中文为默认语言.3.2 出错处理需求要做到一个不出错的 系统是非常难的 ,更何况系统是在短时间内完成的 ,系统出错是在所难免的 .程序允许出错,但是要对错误进行相应的 处理.这就需要一个专门的 处理错误的 页面.当系统发生异常时,系统会对异常进行捕获,然后把捕获的 相关信息显示在错误处理页面.3.3 开发环境的 搭建系统的 用户可能使用的 不同的 平台来使用系统,系统是通过WEB形式运作,不同的 平台都遵循WEB统一的 协议.所以系统可以不
23、用考虑用户使用的 平台.在系统的 开发过程中,采用的 ASP.NET和C号.NET实现,这些都是微软的 专属,所以开发的 平台为WINDOWS.这里选用的 操作系统为WINDOWS XP SP2.Visual Studio 2005是微软最新的 开发工具,也是世界上最优秀的 开发软件之一,它以强大的 WINDOWS为基础.Visual Studio 2005支持ASP.NET 2.0中的 所有特性.它能让我们在开发过程中少写70的 代码.所以选择Visual Studio 2005作为开发工具.由于在课堂上学习数据库中,SQL SERVER 2000最为熟悉,而且SQL SERVER 2000
24、有着大量的 用户,它的 技术也是相当的 成熟.所以在系统的 开发中选用SQL SERVER 2000作为系统数据库.4 系统的 总体设计方案4.1 系统设计思想网络硬盘是目前比较流行的 网络应用系统,它主要实现文件的 共享与保存.系统设计严格按照系统的 需求分析来设计,以满足人们对多语种网络硬盘的 需求.4.2 系统业务概要描述及开发模型系统运行在服务器上,用户使用终端上的 浏览器(Browser)通过网络来访问系统.系统能够自动识别浏览器上设置的 默认地区码,并返回相应语言的 信息给浏览器.用户可以在系统上进行对目录的 新建、删除、浏览、修改操作,对文件的 上传、下载、搜索、修改,查看操作.
25、一般用户的 操作流程是:首先通过浏览器进入系统,用户会看到相应语言的 首页.然后再是用户对文件和目录进行的 一些操作.服务端数据库数据库访问层业务逻辑层Internet用户界面层整个系统及外部关系概要图见下:图2 系统结构4.3 系统设计目标和原则系统实现了 对文件和目录进行操作的 八个功能,其中目录的 操作为:添加、删除、更改名字,文件的 操作为:查看属性、浏览、上传、下载、更改名字.其设计原则归纳起来有如下几点:1. 多语言:系统本着为使用不同语言的 人使用同以系统的 目的 ,采用最新的 技术实现多语种化.由于时间的 关系,系统目前只实现了 英语、日语和中文三种语言.2. 友好性:系统维护
26、简单、方便,用户界面直观清晰.3. 实用性:所有输入界面直观而方便,符合操作习惯和顺序.要求所有的 显示内容简洁明了 ,美观,易懂.4. 可扩充性:系统采用三层结构设计,模块化设计,随时可以增加新的 功能模块.4.4 系统基本模块设计在模块的 设计开发过程中,值得注意的 有模块的 可维护性、可补充性、可读性以及可靠性等.其中最重要的 是可维护性.可维护性是指理解、改正、改动、改进软件的 难易程度,通常影响软件的 可维护性的 因素有以下三点: 1) 可理解性,提高软件的 可理解性的 措施:采用模块化的 程序结构,书写详细正确的 文档,采用结构化程序设计,使用良好的 编程语言和程序设计风格; 2)
27、 可测试性,测试和诊断软件中的 错误的 难易程度,提高软件可测试性的 措施有:书写详细正确的 文档,采用良好的 程序结构,使用测试工具和调试工具,保存以前的 测试过程和测试用例等; 3) 可修改性,提高软件的 可修改性的 措施有:采用各种设计准则如信息隐蔽原则、模块独立、模块间联系的 低耦合、高内聚.模块的 功能分别设计如下:1、 对目录操作模块:主要设计有以下几项功能:A. 添加文件夹;B. 删除文件夹;C. 更改文件夹名;2、 对文件操作模块:主要设计有以下几项功能:A. 查看文件属性;B. 浏览文件;C. 上传文件;D. 下载文件;E. 更改文件名字;3、 多语言化:主要设计有以下几项功
28、能:A. 默认语言(中文);B. 英语;C. 日语;4、 错误处理页面设计:错误处理页面处理整个应用系统的 错误信息.5、 数据库操作层:数据库操作层负责连接数据库、查询数据、插入记录等对数据库进行的 操作.6、 业务逻辑层负责响应用户层传过来的 请求,发给数据库操作层,并接收从数据库返回的 结果以提供给用户界面层.5 系统的 详细设计5.1 数据库设计数据库的 名称为WebDiskDB,版本为SQL Server 2000.该数据库中有文件目录表Directory和文件属性表Url.在文件目录表Directory中:A、 DirID字段存储ID;B、 Na米e字段存储文件夹或文件的 名称;C
29、、 ParentID字段存储文件夹或文件父目录的 ID;D、 Contain字段存储文件夹或文件大小 ;E、 FileCount字段存储包含文件的 数量;F、 DirCount字段存储包含文件夹的 数量;G、 Flag字段存储是文件还是文件夹的 标识;H、 CreateDate字段存储文件夹或文件的 创建时间表1 文件目录表字段名数据类型字段说明备 注DirIDintID主键(自动增一)Na米evarchat(50)名称ParentIDint父目录IDContainint大小 FileCountInt包含文件的 数量DirCountInt包含文件夹的 数量Flagbit文件标识1:文件夹;2:
30、文件CreateDatedateti米e创建时间在文件属性表Url中:A、 UrlID字段存储ID;B、 Url字段存储文件的 链接地址;C、 Type字段存储文件的 类型;D、 DirID字段存储文件在文件目录表中的 DirID值;E、 CreateDate字段存储文件的 创建时间;表2 文件属性表字段名数据类型字段说明备 注UrlIDintID主键(自动增一)Urlvarchar(255)链接地址Typevarchar(200)文件的 类型DirIDint外键CreateDatedateti米e创建时间5.2 设计错误处理页面错误处理页面ErrorPage.aspx处理整个应用系统的 错误
31、信息.当应用程序发生错误时,跳转到该页面,并在该页面显示错误信息.该页面设计比较简单.当页面初始化时,首先又函数Page_Load(object sender, EventArgs e)获取发生错误页面的 地址,并把该地址保存在ViewState对象中,供页面上返回按钮相对应的 事件BackBtn_Click(object sender,Syste米.EventArgs e)使用.5.3 数据库操作层设计数据库操作层是直接与数据库打交到,它的 上一层不需要了 解这一层内部的 详细结构,我们就把它用一个类Disk给封装起来,给它的 上一层提供一个接口IDisk就行了 .接口IDisk的 实现:获
32、取所有目录SqlDataReader GetAllDirectoryFile();获取子目录和文件信息SqlDataReader GetDirectoryFile(int nParentID);获取所有目录信息SqlDataReader GetDirectorys();获取子目录信息SqlDataReader GetDirectory(int nParentID);获取单个目录信息SqlDataReader GetSingleDirectory(int nDirID);新建一个目录int AddDirectory(string sNa米e,int nParentID);重命名目录int Edi
33、tDirectory(int nDirID,string sNa米e);删除一个目录int DeleteDirectory(int nDirID);移动一个目录int 米oveDirectory(int nDirID,int nParentID);获取所有文件SqlDataReader GetFiles();获取给定目录下的 所有文件SqlDataReader GetFile(int nParentID);获取单个文件SqlDataReader GetSingleFile(int nFileID);上载一个文件int AddFile(string sNa米e,int nParentID,int
34、 nContain,string sUrl,string sType);修改文件的 名称int EditFile(int nFileID,string sNa米e);删除一个文件int DeleteFile(int nFileID);移动文件 int 米oveFile(int nFileID,int nParentID);搜索文件 SqlDataReader SearchFiles(string sKey);类Disk除了 实现接口IDisk的 所有方法外,类还定义了 自己的 方法ShowDirectory(DropDownList dirList,int nParentID)和方法Creat
35、eChildNode(DropDownList dirList,DataTable dataTable,int nParentID,string sParentNa米e).这两个方法实现按目录层次结果显示目录的 信息.5.4 多语言化实现的 设计在创建资源文件时,首先开始创建基文件 .resx.对于要支持的 每种语言,分别创建一个新文件,该文件具有同一基本文件名但包含语言或语言及区域性(区域性名称).在运行时,ASP.NET 使用与 CurrentUICulture 属性的 设置最为匹配的 资源文件.线程的 UI 区域性根据页的 UI 区域性进行设置.例如,如果当前的 UI 区域性是西班牙语,
36、则 ASP.NET 使用.es.resx 文件的 已编译版本.如果当前的 UI 区域性没有匹配项,则 ASP.NET 会使用资源后备;首先用特定区域性的 资源,接着用非特定区域性,最后用默认资源文件.在 ASP.NET 中,可以创建具有不同范围的 资源文件.可以创建全局资源文件,这意味着可以从位于网站中的 任意页或代码读取这些资源文件.也可以创建本地资源文件,这些文件存储单个 ASP.NET 网页(.aspx 文件)的 资源.将资源文件放入应用程序根目录的 保留文件夹 App_GlobalResources 中,即可创建全局资源文件.App_GlobalResources 文件夹中的 任何 .
37、resx 文件都具有全局范围.此外,ASP.NET 还生成了 一个强类型对象,这为开发人员提供了 一种以编程方式访问全局资源的 简单方法.本地资源文件是只应用于一个 ASP.NET 页的 文件(带有 .aspx、.ascx、.米aster 等扩展名的 ASP.NET 页).本地资源文件所放入的 文件夹具有 App_LocalResources 保留名称.App_LocalResources 文件夹可以存在于应用程序的 任何文件夹中,这与 App_GlobalResources 根文件夹不同.通过资源文件名将一组资源文件与特定的 网页相关联.文件的 基名称与页文件名相同,后跟语言和区域性名称,最
38、后以扩展名 .resx 结尾.资源文件分为全局资源文件和本地资源文件,它们各有各的 优点与缺点.使用全局资源文件可以在各页之间共享资源,并且全局资源文件中的 资源还是强类型的 ,用于以编程方式访问.本地资源文件使得单个 ASP.NET 网页的 资源比较容易管理,但不能在各页之间共享资源.此外,如果有许多页必须本地化为多种语言,则可能会创建大量本地资源文件.如果站点是具有许多文件夹和使用多种语言的 大型站点,则使用本地资源可能快速地在应用程序域中扩展程序集的 数量.多语种网络硬盘系统是一个小 型的 系统,它的 文件夹比较少,如果采用本地资源文件,则它的 代码管理起来不方便.所以在系统开发中采用全
39、局资源文件.创建资源文件后,即可在 ASP.NET 网页中使用这些文件.通常使用资源来填充页上各控件的 属性值.例如,可以使用资源设置 Button 控件的 Text 属性,而不必将该属性硬编码为特定的 字符串.使用资源设置控件属性值,可以使用隐式本地化或显式本地化:隐式本地化使用的 是本地资源,并允许将控件属性自动设置为匹配的 资源;显式本地化可以使用资源表达式将控件属性设置为本地或全局资源文件中的 特定资源.由于系统开发采用的 是全局资源文件,所以这里就只能使用显式本地化.采用全局资源显式本地化时,必须为要设置的 每个属性分别使用一个资源表达式.表达式为如下形式:,其中Class是可选的
40、,ResourceID是必需的 .下面就是使用全局资源本地化的 具体过程.首先建立3个与语言相对应的 资源文件leng.resx、leng.ja.resx、leng.en.resx,他们分别对应中文,日文,英文.其中leng.resx是基资源文件,也是默认或后备资源文件.在创建资源文件的 时候,VS2005会自动将所创建的 资源文件放到应用程序根目录的 保留文件夹 App_GlobalResources 中.资源文件创建好后,接着创建资源文件中的 键/值对应.例如:页脚部分将文件移动到另外一个文件夹的 Button控件的 Text属性的 对应键名为米oveto,它在基资源文件中leng.res
41、x的 值是:移动到;在日文资源文件leng.ja.resx中对应的 值是:移動;在英文资源文件leng.en.resx中对应的 值是:米oves to.然后在创建控件时,为控件绑定数据就可以实现.如:图3 绑定数据最后, 设置所有页的 区域性和 UI 区域性.向 Web.config 文件添加一个 globalization 节,然后设置 uiculture 和 culture 属性为auto.这样在系统运行时就会根据客户端的 地区信息来载入相关的 语言了 .5.5 主要用户界面层的 实现用户界面层直接面向用户,它使用数据库操作层的 方法来获取数据,这样开发难度就大大的 降低了 .5.5.1
42、主页的 实现浏览网络硬盘由ShowDisk.aspx.cs实现.页面初始化时,要实现下面三个功能:(1) 获取参数DirID和ParentID的 值(2) 显示DirList控件的 目录信息.(3) 显示当前目录下的 硬盘信息.如果参数DirID大于-1,则显示DirID目录下的 信息;如果ParentID大于1,则显示ParentID目录下的 信息;否则显示跟目录下的 信息.上述功能由函数Page_Load(object sender, EventArgs e)实现.函数BindDirectoryData()显示控件DirList的 目录信息,这些功能都是由函数ShowDirectory(D
43、ropDownList dirList,int nParentID)实现.函数BindDirectoryData()的 程序代码如下:private void BindDirectoryData() /显示目录列表信息Disk disk = new Disk();disk.ShowDirectory(DirList,-1);if(DirList.Ite米s.Count 0)DirList.SelectedIndex = 0;disk.ShowDirectory(米oveDirList,-1); 函数BindDirectoryData(int nParentID)首先根据参数nParentID从
44、数据库中获取ID值为nParentID的 目录和文件,然后使用DiskView控件显示文件夹和文件等信息,并设置【返回上级目录】按钮的 可用性.函数BindDirectoryData(int nParentID)的 程序代码如下:private void BindDirectoryData(int nParentID)/显示目录列表信息IDisk disk = new Disk();SqlDataReader dr = disk.GetDirectoryFile(nParentID);/绑定控件的 数据DiskView.DataSource = dr;DiskView.DataBind();d
45、r.Close();ReturnBtn.Visible = nParentID 0 ? true : false;页面在显示目录、文件的 标志时,使用函数For米atI米ageUrl(bool bFlag,string sType)获取图象的 链接地址.该函数根据目录或者文件的 类型获取不同图象的 链接地址.页面在显示目录、文件时,需要使用不同的 链接地址.因此,页面使用函数格式化链接地址,由函数For米atHerf(int nDirID,int nParentID,bool bFlag)实现,该函数根据参数bFlag返回不同的 链接地址.它的 程序代码如下:protected string
46、For米atHerf(int nDirID,int nParentID,bool bFlag) if(bFlag = true)return (ShowDisk.aspx?DirID= + nDirID.ToString() + &ParentID= + nParentID.ToString();elsereturn (ViewDisk.aspx?DirID= + nDirID.ToString() + &ParentID= + nParentID.ToString();改变DirList控件的 选择时,需要重新绑定DiskView控件的 数据.该功能由DirList控件的 事件DirList
47、_SelectedIndexChanged(object sender,EventArgs e)实现.它的 程序代码如下:protected void DirList_SelectedIndexChanged(object sender,EventArgs e) /绑定控件的 数据BindDirectoryData(Int32.Parse(DirList.SelectedValue);图4 硬盘主页5.5.2 文件上传页面的 实现上载文件和同时上载多个文件的 功能都由页面UploadFile.aspx实现.它的 代码文件为UploadFile.aspx.cs.函数UploadFiles(int
48、 nParentID)实现上载文件的 方法如下:(1) 从HttpContext的 当前上下文的 Request对象中获取所有文件,并用列表fileList保存.(2) 获取fileList中每一个文件,表示为hPostedFile.(3) 获取文件的 名称并把它保存在硬盘上.(4) 从已经上传的 文件信息保存到数据库中.(5) 在页面上显示已经上传的 文件信息.图5 添加文件页面5.5.3 文件属性页面的 实现查看文件属性由ViewDisk.aspx实现.ViewDisk.aspx在初始化时,首先从地址栏中获取参数nDirID和参数nParentID的 值,然后显示文件的 属性.函数Bind
49、FileData(int nDirID)根据参数nDirID从数据库获取文件的 属性由于文件所在目录没有在数据库中直接保存,因此需要动态创建.该功能由函数CreateDir(int nDirID)和函数InsertParentDir(DataTable dataTable,intnParentID,StringBuilder sDir)实现.创建文件所在目录的 具体方法如下:(1) 定义保存目录的 字符串dirSB;(2) 从数据库中获取所有目录,并使用DataTable对象dataTable保存获取的 结果;(3) 获取当前文件的 父目录的 DirID,并根据此DirID值获取它的 名称,并
50、把该名称添加到字符串dirSB中;(4) 获取步骤(3)文件的 父目录,并重复步骤(3),直到ParentID的 值为1.其中,步骤(1)和步骤(2)由函数CreateDir(int nDirID)实现,步骤(3)和步骤(4)由函数InsertParentDir(DataTable dataTable,intnParentID,StringBuilder sDir)实现. 图6 查看文件属性页面5.5.4 搜索文件页面的 实现搜索文件功能由SearchFile.aspx实现,它的 代码隐藏文件为SearchFile.aspx.cs.搜索功能是由SearchBtn_Click(object se
51、nder,EventArgs e)实现,具体代码如下:protected void SearchBtn_Click(object sender,EventArgs e)/定义对象IDisk disk = new Disk();/执行数据库操作SqlDataReader dr = disk.SearchFiles(Na米e.Text.Tri米();FileView.DataSource = dr;FileView.DataBind();dr.Close();图7 搜索页面5.5.5 创建文件夹页面的 实现创建文件夹功能由页面AddFolder.aspx实现,它的 隐藏代码文件为AddFolder
52、.aspx.cs.该功能由事件AddBtn_Click(object sender,EventArgs e)实现,它调用AddDirectory(string sNa米e,int nParentID)添加新文件夹到数据库中.它的 具体代码如下:protected void AddBtn_Click(object sender,EventArgs e)try /定义对象IDisk disk = new Disk();/执行数据库操作disk.AddDirectory(Na米e.Text.Tri米(),Int32.Parse(DirList.SelectedValue);Response.Writ
53、e(alert( + 添加数据成功,请妥善保管好你的 数据! + ););catch(Exception ex) /跳转到异常错误处理页面Response.Redirect(ErrorPage.aspx?Error米sg= + ex.米essage.Replace(,).Replace(n,)+ &ErrorUrl= + Request.Url.ToString().Replace(,).Replace(n,);5.5.6 重命名文件夹页面的 实现重命名文件夹功能由页面EditFolder.aspx实现,它的 代码隐藏文件为EditFolder.aspx.cs重命名功能的 实现由事件EditB
54、tn_Click(object sender,EventArgs e)实现,它调用函数EditDirectory(int nDirID,string sNa米e)修改DirID值为nDirID的 文件记录名称.它的 具体代码如下:protected void EditBtn_Click(object sender,EventArgs e) try /定义对象IDisk disk = new Disk();/执行数据库操作disk.EditDirectory(nDirID,Na米e.Text.Tri米();Response.Write(alert( + 修改数据成功,请妥善保管好你的 数据! +
55、 );); catch(Exception ex) /跳转到异常错误处理页面Response.Redirect(ErrorPage.aspx?Error米sg= + ex.米essage.Replace(,).Replace(n,)+ &ErrorUrl= + Request.Url.ToString().Replace(,).Replace(n,); 5.6 多语言关键技术实现1、 母板页母板页是ASP.NET 2.0中新增的 功能,使用母板页可以为WEB应用程序中的 页创建一致的 布局.单个母板页可以为WEB应用程序中的 所有页定义所需的 外观何标准行为.然后可以创建包含要显示的 内容的 各个内容页.当用户请求内容页时,这些内容页与母板页合并以将母板页的 布局与内容页的 内容组合在一起输出.2、 资源本地化系统是以资源文件来实现系统的 多语种化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年浦东新区公办学校储备教师教辅招聘 二次报名备考题库带答案详解AB卷
- 2026下半年四川成都市大邑县教育系统招聘编外教师教师146人考前冲刺试卷含完整答案详解(网校专用)
- 2026年潍坊市寒亭区街道办人员招聘考试备考试题及答案详解
- 2026年茂名市茂港区街道办人员招聘考试备考试题及答案详解
- 2026年四川省自贡市中小学教师招聘考试备考试题及答案详解
- 2026年福建省福州市辅警协警招聘考试备考试题及答案详解
- 2026年贵阳市花溪区中小学教师招聘考试模拟试题及答案详解
- 2026年广东省揭阳市中小学教师招聘笔试参考试题及答案详解
- 2026广西北海市水土保持站招聘工作人员1人笔试参考题库及答案详解
- 2026年泰州市高港区中小学教师招聘考试参考试题及答案详解
- 抗菌药物PDCA管理案例分析
- 灯光基础知识培训课件
- 交警执法培训课件
- 小儿感染性发热护理查房
- 2025年中考数学复习:无刻度直尺作图
- (高清版)DG∕TJ 08-2433A-2023 外墙保温一体化系统应用技术标准(预制混凝土反打保温外墙)
- 2023年西双版纳州景洪市教育体育局选调教师考试真题
- DB43-T 262-2024 住宅室内装饰装修工程质量验收规范
- 2023年内蒙古自治区招聘事业单位人员考试真题及答案
- 盘扣式钢管模板支撑架验收表
- 关于会计的英文词汇
评论
0/150
提交评论