还记得在VS2003中,本地化特别是全局本地化文件,并没有预想当中的方便。
VS2003默认的本地化策略是页面级资源文件,但由于这种文件在 VS2003中资源管理器中的布局是跟着aspx文件的,使得维护很不方便,如果你要改一个资源,首先必须知道资源所应用到的文件,再来就是资源的名称,很多情况下,我们往往会因为资源太多,而漏掉几个需要维护的资源。出于这个原因,程序员们开始考虑使用全局资源文件(Global Resources File),但由于当时在VS2003中没有专用的设计器,且调用资源必须使用ResourceManager,使得一些初学者望而却步,无形中提高了技术门槛。
这次的VS2005则完全改变了这种局面,这在VS2005的资源管理器中最容易体现——加入了 App_GlobalResources(全局资源)和App_LocalResources(本地资源)。正因为有了这两个文件夹,你的所有页面的资源不再是跟着页面走了,任何一个页面的资源都会直接被加到App_LocalResources目录下,这样就使页面级资源文件管理变得相对简单。
值得一提的是,这次还在Tools菜单中加入了Generate Local Resource项,注意该项仅在设计视图(Design View)下可见。通过该项,你可以把一个页面中的所有控件的资源自动生成,资源会放在当前页面对应的本地资源文件中,命名是你的控件名称+'.'+属性名称,例如:有一个Label的ID为Label1,则生成的资源有Label1.Text, Label1.ToolTip,资源的值就是你生成时的Text的值和ToolTip的值,如果没有则为空。生成完成后,你会发现控件已自动与资源绑定,这可以体现在两个方面,第一,在属性编辑器(Properties)中,控件的Text和ToolTip没有了值,取而带之的是多了一个浅红色的图标,表示资源已绑定;第二就是在aspx的编码界面中,控件的标记属性中多了一个meta:resourcekey=“[资源名]”。另外,VS2005的资源编辑器也比原来VS2003的方便,不再是通用的xml编辑窗口了,有了许多资源编辑器本应该有的功能,如添加图片、添加文本文件、添加声音文件等,看来以后网上的第三方资源编辑器要没市场了。
再来看全局资源。全局资源文件不会自动被添加,但是我们可以自己建,也不会自动被绑定(否则岂不成了VS2005 AI版)。当你加完资源后,回到代码编辑界面,你会发现Resources的智能感知会把资源文件名显示出来让你选择,实在是方便,例如有个资源文件叫Res1,其中有一个String资源叫Text1,你就可以用Resources.Res1.Text1来获得它的值。看到这样的功能,再看看原来自己搭的 VS2003资源维护框架,不免觉得有些郁闷。这样做的好处很容易想到,一方面资源找起来方便,另一方面资源名不容易打错。或许你会觉得有些好笑,资源名怎么会打错,对于几十个资源来说,这或许是可笑的错误,但当资源增加到数百个甚至上千个,这种事情很容易发生。
不过,这次使用后,也发现了一些不足的地方,但是个人觉得从技术角度实现的确比较麻烦。比如,如果在使用过自动生成资源后,控件改名了,如果再次自动生成资源,VS2005会重建一个资源,而不是把原来的资源删掉,这样可能造成无用资源的堆积,特别是在多次的后期维护之后,当然可能是我要求高了点,大家不要见怪。
总的来说,我对这次的VS2005的本地化功能还是很认可的,甚至有些感慨,开发工具能做到如此方便易用,真可谓是以用户为导向,或者说以应用为导向,在这方面,中国的程序员应该好好向微软的同仁们学习。
由于时间仓促,还没有来得及看基于数据库的资源支持情况,过两天再说吧。
分享到:
相关推荐
asp.net本地化实战解决方案。开发多语言的ASP.NET系统
ASP.NET(C#)导入&导出Excel
vs2005 asp.net 安装和部署
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...
我的asp.net学习笔记 学习asp.net过程的学习笔记,大家可以来看下
ASP.NET 学习笔记 内包括很多实用的代码
这是个压缩文件,内容包括:ASP.NET网战设计实例,C#程序设计,C#与ASP.NET程序设计,vb语言和XML语言。希望对大家有帮助。
asp.net本地化例子 和使用方法 asp.net本地化例子 和使用方法 asp.net本地化例子 和使用方法
ASP.NET Ajax学习笔记 第一章 ASP.NET AJAX基础 介绍ASP.NET AJAX 简单接处ASP.NET AJAX
vs2005 asp.net部门项目周报管理系统
asp.net2.0网络编程学习笔记源代码 很多实例
ASP.NET本地化
很好的学习资料ASP.NET底层架构学习笔记,我是个初学都,希望大家能照顾,谢谢各位,有什么好的学习资料,希望能从中学习很多知识 !!
.NET本地调试 ASP.NET本地调试 ASP.NET服务器 .NET本地测试 ASP.NET本地测试
ASP.Net快速入门学习笔记
C# winfrom asp.net 学习笔记
asp.net控件笔记 asp.net控件笔记
超小的ASP.NET本地测试工具 很好用的哦
该文档是我在学习ASP.NET过程中的一些知识总结,希望能对大家有帮助,多谢支持!