登陆注册
8724600000028

第28章 软件构造(7)

全球化设置,包含定义区域性相关信息的类,这些信息包括语言、国家/地区、使用的日历、日期、货币和数字的格式模式及字符串的排序顺序。可以使用这些类编写全球(国际化)应用程序。如果在实际应用中有中文字符显示为乱码或不能显示,可以如下设置:

即采用中文国标。

尽管web.config文件为用户自定义提供了很大的空间,可能仍然需要一些用户设置。

appSettings部分就是用来满足这项要求的,请记住这部分并不在标记中,而是单独存放在标记中,数据库连接字符串、email服务器地址和日志文件存放路径,通常也可以放在这部分。

下面是对web.config文件的设置,该设置定义了数据库连接字符串和另一个用户设置LogFilePath键值对应:

在应用程序中可以访问这些设置,其ConfigurationSettings类提供指定配置小节中配置设置的访问。该类的公共属性ConfigurationSettings.AppSettings属性可获取

元素配置节中的配置设置,以下代码是获取数据库连接字符串的:

Dim strConnection as String

strConnection=ConfigurationSettings.AppSettings(”ConnectionString”)

5.如何使用页面缓存

缓存就是将一些生成代价比较大的常用数据保存起来重用。一般数据都保存在内存中,因为从内存中读取数据比从数据库等其他地方要快。

页面缓存是最简单的也是最常用的一种缓存技术,允许对动态页面进行输出缓存,这样页面就直接从缓冲器供应,而不需要在每个单独的请求下执行。可以指定一个绝对时间(如午夜)或一个相对时间(如在页面最后一次被访问后20分钟),这样就可以很好地控制页面在缓冲器中停留的时间。

页面缓存使用非常简单,只需在要缓存的页面加入下面的指令:

<;%@OutputCache Duration=”60”VaryByParam=”none”%>;

Duration=“60”是一个过期策略标记,指示该页面自缓存起60分钟后过期,则在60分钟后将该页面从输出缓存中移除。VaryByParam=“none”指的是页面不随任何GET或POST参数改变,只要对该页面的请求都输出缓存里的内容。

或者写以下代码也能起到相同效果:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))

Response.Cache.SetCacheability(HttpCacheability.Public)

ASP.NET缓存对于每个应用程序是私有的,并且将对象存储在内存中。缓存的生存期与应用程序的生存期相同。也就是说,当应用程序重新启动时,将重新创建缓存。缓存提供了简单的API接口,使程序员可以轻松地将对象放到缓存中及从缓存中检索对象。

下面的程序说明简单的缓存使用。该示例执行数据库查询并缓存结果,并在应用程序的生存期内继续使用此结果。

<;%@Import Namespace=”System.Data”%>;

<;%@Import Namespace=”System.Data.SqlClient”%>;

缓存数据

Width=”700”

BackColor=”#ccccff”

BorderColor=”black”

ShowFooter=”false”

CellPadding=3

CellSpacing=”0”

Font—Name=”宋体”

Font—Size=”8pt”

HeaderStyle—BackColor=”#aaaad”/>;

6.如何进行数据验证

数据正确性是网站所必需的。为了更容易地检验使用者输入的数据是否正确,ASP.NET为编程人员提供了数据验证控件。

1)RequiredFieldValidator控件

当页面上的控件要求s必须输入数据时,RequiredFieldValidator就起作用了,Control—ToValidate属性选择需要验证的控件,而ErrorMessage属性则是校验不合法后显示的错误提示信息。

ErrorMessage=”Please enter your name”

ControlToValidate=”TextBox1”>;

2)CompareValidator控件

CompareValidator控件是用来比较两个输入控件之间的数据一致性的,同时也可以用来校验控件中内容的数据类型:如整型、字符串型等。ControlToCompare和ControlToValidate属性用来设置进行比较的两个控件。

Password:

Confirm:

<; asp:CompareValidator id=”CompareValidator1”runat=”server”ErrorMessage=”

Password Error!”ControlToValidate=”TxtCfm”ControlToCompare=”txtPwd”>;

3)RangeValidator控件

RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内,属性MaximumValue和MinimumValue用来设定范围的最大值和最小值。

Age:

<; asp: RangeValidator id=”RangeValidator1”runat=”server”

ControlToValidate=”TxtAge”ErrorMessage=”Age Error!”MaximumValue=”99”MinimumValue=”1”>;

4)RegularExpressionValidator控件

RegularExpressionValidator控件可以判断用户输入的表达式(如电话号码、邮编、URL等)是否正确。ControlToValidate属性选择需要验证的控件,ValidationExpression属性则编写需要验证的表达式的样式,下面的例子就是一段校验邮编的代码。

Postal Code:

runat=”server”ControlToValidate=”TxtPostalCode”

ErrorMessage=”Postal Code Error!”ValidationExpression=”d6}”>;。

同类推荐
  • 中文版3dsMax2010实例与操作

    中文版3dsMax2010实例与操作

    本书结合3dsMax2010的实际用途,按照系统、实用、易学、易用的原则,通过大量案例介绍了3dsMax2010的各项功能,内容涵盖3dsMax入门、创建和编辑二维图形、创建基本三维模型、使用修改器、网格建模、多边形建模、面片建模、复合建模、材质和贴图、灯光和摄影机、渲染、动画制作、粒子系统、空间扭曲和动力学等。
  • 图说电子计算机

    图说电子计算机

    今天人们谈到计算机常常会把它和网络联系起来。20世纪90年代兴起的因特网其影响之广、普及之快也是大家始料未及的,也从没有一种技术能像网络一样日新月异,并迅速地改变着我们的学习和生活方式。因特网大大缩小了时空界限,为我们提供了快捷方便的交流途径。在未来10年内,计算机又将会有怎样飞速的发展呢?在互联网上进行医疗诊断、远程教学、电子商务、视频会议等活动已经实现,未来的互联网的传输速率将会提高100倍,大家可以随时随地连接到因特网上,更方便地进行交流、沟通和开展商务活动。
  • 办公设备使用与维护

    办公设备使用与维护

    信息技术的发展正前所未有地改变着人类生活的每一个层面,以信息化、全球化和高科技为特征的新经济浪潮滚滚而来,机遇与挑战并存。办公自动化是信息化时代最重要的标志之一,办公要实现自动化,当然离不开办公设备。
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
  • 如何建设网站

    如何建设网站

    本书以问答的方式介绍了建设网站的基本知识,内容包括:网站设计的八个步骤、建设网站需要掌握的工具软件、网页中插入图像、在网页中隐藏内容等。
热门推荐
  • 我的老婆是圣王

    我的老婆是圣王

    君知圣王为何物?杀一人为罪,杀万人为雄,屠百万人为混世人魔。胸怀大志,腹有良谋,包藏宇宙之机,吞吐天地之志者,为英雄。升腾宇宙之间,孤立在绝世巅峰之上,是为一代豪杰。杀尽天下敌,赤土千里,伏尸百万,流血千里。此为帝王至尊。圣王者,内圣外王。内圣,无人不尊。外王,无人敢逆。只有强者才能够称尊,实力称尊,护国卫民,先有实力后有德,这就是圣王。男人就是应该成为圣王!方不枉一生!手持三尺剑,建立不世功勋,为百姓挣得一片净土!可惜,圣王这个称号,不适合叶顾。叶顾,穿越之后本就胸无大志,只想着老婆孩子热炕头。可是,他的老婆却不简单。
  • 最强扶她系统

    最强扶她系统

    优秀宅男辟民遇上了史上公认最坑爹的超自然灾害——穿越。“你说穿越就穿越呗,可到底是哪路神仙这么丧心病狂啊...”望着眼前那个“成为最强扶她”的系统任务,辟民心中的一万匹草泥马瞬间踏平了整个珠穆朗玛峰。
  • 末世盖雅之光

    末世盖雅之光

    2014年9月7号,神秘能量横扫全球,随后,天崩地裂,俨然一副世界末日到来的场景。然而,身处灾难之中的人们不会知道,整个地球的大陆在那一刻仿佛如同拼图一般,被一个未知的存在拼在了一起。这一切到底是怎么回事?还有那个总是出现在叶枫梦中的光球,又是什么?在叶枫挣扎求生的时候,居然听到了一件不可思议的事情,末世的来临似乎早就有人知道,甚至还有方舟计划……
  • 五味修仙

    五味修仙

    少年陈情,一个没有灵力,让我们拭目以待……
  • 楚临风的精灵王之路

    楚临风的精灵王之路

    一个有着成为精灵王的梦想的小精灵,她倔强,刚强,果断,她无论何时都能把事情做的最好,她在强者为尊的世界里,为自己的理想一路拼杀。她能成功吗?文风轻松,激烈,永不虐女主。
  • 今朝有道今朝求

    今朝有道今朝求

    人间万道,只要身正心正,哪条都能成道。出身牧灵人村落的李今朝十五岁独身一人历练,开始自己的求道长生之路
  • 麒麟玉

    麒麟玉

    韩小溪自小衣食无忧,却经历家庭变故,离奇穿越回宋朝,居然遇见了宋朝辉煌时期的青少年时期的王爷,与商界巨贾之子开展一段,刻骨铭心的爱恋。
  • 火影之再不斩

    火影之再不斩

    出生血雾里地狱难度开局首先要活下来然后下带土眼皮子底下搞事儿
  • 魔界之神的婚宴

    魔界之神的婚宴

    在男修道院长大,被修道院的牧师侵害,成为魔界的大总管。千面美男,谁也想象不到他的人皮面具后长着的是怎样一张脸。直到遇到温纳哦,他的人生彻底改变。帮助神族找到圣婴,协助神魔两界的朋友,完成任务,同时收获了至高无上的真谛!
  • 守护甜心之假面舞会

    守护甜心之假面舞会

    指针不知疲惫地转动着,嘀嗒声在千年的古堡里回荡。寒鸦的羽翼划破夜空,光与影在刹那间交织成诗,十二点的钟声随之敲响。命运的齿轮运行到了特定的轨道,盛大的舞会,由此开场。(ps:进度条感人;主要cp几梦.凪璃.空呗)