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

同类推荐
  • 三维动画审美谈

    三维动画审美谈

    数字时代,美的标准充满更多的不确定性。而三维动画以数字图像形式成为这个图时代的代表。三维动画及三维图像不仅仅是由于应用了仿真数字图像技术而带来的虚拟空间,还有更多的是由三维图像技术所引发或引导的被扩展的图像技术,这些技术无不应用在现代视觉设计领域的各个方面,并且,由此引起社会的追热,引起审美观念的改变。这些改变是在进行中的,变化中的,也是在发展中的。对于未知的美,我们做的只是追寻和记录,我们不知道以后的美将会是什么样,尽管我们苦苦追寻,孜孜探讨,同时也在默默审视。我们在追寻中享受美,在探讨中认知美,在审视中体验美……
  • 初级会计电算化

    初级会计电算化

    本书是作者根据历年会计从业资格考试的考试大纲以及多年对真题的分析,并结合多为专家、学者的实践经验而编写的。本书主要分为八套模拟试卷,以对考生考前的学习进行模拟实战,达到提高考生成绩的目的。
  • 组建家庭局域网与无线网

    组建家庭局域网与无线网

    该书是“快乐驿站”丛书之一,是一本精心为初级家庭电脑用户打造的局域网与无线网组建入门与提高的图书,同时还涉及一些办公网络的组建内容。《组建家庭局域网与无线网》以局域网和无线网的功能、设置以及实际应用为导向,用生动的实例、形象的图解和幽默的语言循序渐进地介绍了局域网和无线网的概念、产品、设计、组建、调试与维护的相关内容。
  • 中文版AutoCAD2011基础与应用案例教程

    中文版AutoCAD2011基础与应用案例教程

    本书采用项目教学方式,通过大量案例全面介绍了AutoCAD2011软件的功能和应用技巧。全书共分8个项目,内容涵盖AutoCAD2011基本操作,绘制与编辑图形,标注尺寸,添加文字注释与应用表格,创建与应用块,绘制与编辑三维图形,图形输出等。
  • 《Internet实用技术》作业集

    《Internet实用技术》作业集

    随着计算机应用的普及和社会信息化水平的提高,Internet已走进我们的生活。《Internet实用技术》这门课将带领我们走进网络的神秘殿堂,让我们认识网络,了解网络,进而学会使用网络,维护网络。其范围涵盖了在授课过程中所讲授的内容,题型多样,内容丰富,并附有两套模拟题,最后附有答案。学生可按照课程进度做习题来巩固和掌握知识。本作业集由李琳编写,由西北工业大学网络教育学院负责组稿和审定。因为时间仓促,水平有限,错误和不当之处在所难免,敬请读者批评指正。
热门推荐
  • 重装机兵之征程

    重装机兵之征程

    根据儿时FC经典游戏《重装机兵》改编。故事发生在超级电脑诺亚毁灭世界后的第两百年,向往自由的少年踏上征程。
  • 从超神学院开始成长

    从超神学院开始成长

    一位少年因为一场意外重生超神学院的世界,又会发生什么呢?是强势崛起?还是泯然众人矣!杜卡奥到底有没有死?又有什么阴谋。德星皇子程耀文到底去了哪里!烈阳潘震又有什么目的!卡尔的虚空恐惧又是什么?
  • 总裁的狂女宝贝

    总裁的狂女宝贝

    陆氏集团惨遭黑手,家破人亡,天之骄女被关在精神病院,双胞胎姐姐为了保全妹妹,将其换出来,为了保全陆家最后一点希望。仇恨是一朵罂粟花,她化身毒药迷倒众生,慢慢接近目标,让欺我毁我辱我之人血债血偿。豪门间的你死我活,清纯少女化身地狱修罗,我就是那复仇的女神,让所有背叛我的人,都得到应有的审判。
  • 脑洞大陆

    脑洞大陆

    每一章为独立小故事,互相之间却有微妙的联系。这是一个每个人都一本正经逗比的世界,国王、大臣、百姓全都是可爱又独树一帜的混蛋。阅读轻松,聊以消遣。这是写给不正常人类的童话,请让我把你的逻辑掏出来喂狗吧!
  • 天行

    天行

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

    查理九世之星座之战

    十二星座为了争夺统治整个星座之国的权利,展开了内战,他们分成光明与黑暗两组。有一天,育林小学四年二班转来了六名同学,他们的身份遭到了多多冒险队队员的怀疑,到底他们的真实身份是什么?
  • 天瞳纪元

    天瞳纪元

    当地球末日降临夜轩成为一名救世主踏入了征途未来世界的地球宇宙万族的争锋都由他来谱写
  • 艾尔伦特1将旅归途

    艾尔伦特1将旅归途

    地球,一直以来被人们所熟悉的这个地方,因为一次不寻常的入侵,揭露出它的真面目。有一支队伍,在世界崩坏之后,怀着各自心中的念想,继续前行。他们到达以前从来都没想过,超出认知的地方,冒险于这个不同以往的世界。一路上,他们也逐渐成长,逐渐变强,并去向最终的地方……
  • 强势锁婚:总裁追妻太难逃

    强势锁婚:总裁追妻太难逃

    “老板救命啊,有坏人追我,求求你帮帮我,要我做什么都可以!”她看也不看,一溜烟钻过一个男人的胯下,翻身滚进了他脚边的茶几下面。“记住你说的话。”某人:真是刚出狼窝又进狼窝……
  • 永夜和魔法

    永夜和魔法

    “如果不曾见过太阳,我本可以忍受黑暗。”那如果我夺走了你的太阳呢,世界又会变成怎么样?当太阳突然消失,一切都重新开始,新的秩序,也在重新建立……