登陆注册
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}”>;。

同类推荐
  • 计算机与人工智能(科学新知丛书)

    计算机与人工智能(科学新知丛书)

    本书是专门为中小学生编写的科普读物。全书共分八个部分,分别就计算机诞生的历程,计算机的种类、构造、作用及其发展趋势等方面进行了详尽的论述,全书论述深入浅出,行文活泼流畅。为本书的主要读者——广大的中小学生朋友认识计算机、了解计算机和掌握计算机提供了一把钥匙,是新时期中小学生开展素质教育不可多得的科普读物,中小学生家长及教师阅读此书也能从中获得有益的启示和感悟。
  • 图说电子计算机

    图说电子计算机

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

    中文版3dsMax2010实例与操作

    本书结合3dsMax2010的实际用途,按照系统、实用、易学、易用的原则,通过大量案例介绍了3dsMax2010的各项功能,内容涵盖3dsMax入门、创建和编辑二维图形、创建基本三维模型、使用修改器、网格建模、多边形建模、面片建模、复合建模、材质和贴图、灯光和摄影机、渲染、动画制作、粒子系统、空间扭曲和动力学等。
  • 互联网创业前奏曲(第二部)——网站运营之人性、策略与实战

    互联网创业前奏曲(第二部)——网站运营之人性、策略与实战

    本书是《互联网创业前奏曲》系列的第二本书,是作者多年互联网实践经验和业界观察的总结,是国内罕有的关于互联网网站运营和用户心理结合的书籍,用通俗的语言阐述互联网运营背后的人性驱动。你想互联网创业吗?你是否在为找不到好的互联网运营策略和方法而发愁?你非常想了解互联网行业?你是否在为自己不了解互联网运营而苦恼?本书针对这些问题列举了很多互联网运营的案例,帮你制定运营策略,更好的修炼和提升运营功力。
  • 黑客就在你身边

    黑客就在你身边

    互联网络正在改变着我们的生活,每个人都处在互联网的天罗地网之中。本书以轻松的笔调,向人们介绍了有关“黑客”的知识。当你读完这本书后,你会发觉“黑客”一点都不神秘,他们渴望全社会对他们有一个公正的评价。
热门推荐
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 单车上的17岁

    单车上的17岁

    小时候我们哭着哭着就笑了,长大后,我们笑着笑着就哭了,我们在过去的岁月里留下的脚印,它们在未来的时光里变成了发光的星。长夏逝去,岁月静好
  • 上古世纪之盗贼时代

    上古世纪之盗贼时代

    让时间停留在公元1888年,距离源大陆毁灭,三大种族鼎立之前,还有一个被历史所遗忘的种族,那就是魔族。魔族相传是天外来客,世世代代居住在源大陆某个神秘山谷,直到那一天来临。---------这是一个最好、也是最坏的时代
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • T时空门T

    T时空门T

    洛先生一起从北京到北非最后从北非回到北京的逃亡故事。(打错了,没完结。)
  • 从天儿降:限量萌妻99次逃婚

    从天儿降:限量萌妻99次逃婚

    他是跨国集团接班人,国际金牌赛车手,最具价值的钻石王老五。她、她、她上门只是想告诉他,他们的婚事作废。可为什么,她莫名其妙的上了他的床,又莫名其妙的带着一个球回了家?而这个球,血统还有点异变?五年后——某蓝眼睛宝贝道:爹地,妈咪我已经打包好了,请享用。“对不起,对不起。”她惊慌的替他擦拭咖啡渍。他冷眸微眯:“女人,你在摸哪里?”“啊?”她低头一看自己小手的位置,小脸唰的一下血红。她的手居然摸他……那里了……
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 亥山三年

    亥山三年

    最美的时光里遇到最可爱的你们,时光变得甜美。
  • 圣樱蒂贵族学院

    圣樱蒂贵族学院

    她是一个千金小姐,厌倦了国外无趣的生活,回国,在校园以另一个面目出现。一个是有着绝美容颜的天之娇女,一个是有着丑陋面貌的贫家女,轮番出现在聪明绝顶、帅气非凡的校草面前。无论真假,他对她,有着莫名的心动。而她对他,不知如何是好。游戏的开始,会有怎样的结局呢?
  • 酸男辣女

    酸男辣女

    缘起婚礼,终于婚礼。“如果你还爱我,请一定要抓紧我。”“如果你还爱我,请一定要放弃我。”——是放弃,还是抓紧?何为爱情?爱情又该何去何从?代青可和申名的爱情之路,将伸向何方?