VS2005 ASP.NET本地化学习笔记&感受
2005-11-29 06:24
363 查看
还记得在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的本地化功能还是很认可的,甚至有些感慨,开发工具能做到如此方便易用,真可谓是以用户为导向,或者说以应用为导向,在这方面,中国的程序员应该好好向微软的同仁们学习。
由于时间仓促,还没有来得及看基于数据库的资源支持情况,过两天再说吧。
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的本地化功能还是很认可的,甚至有些感慨,开发工具能做到如此方便易用,真可谓是以用户为导向,或者说以应用为导向,在这方面,中国的程序员应该好好向微软的同仁们学习。
由于时间仓促,还没有来得及看基于数据库的资源支持情况,过两天再说吧。
相关文章推荐
- VS2005 ASP.NET本地化学习笔记&感受
- VS2005 ASP.NET本地化学习笔记&感受
- ASP.NET AJAX的国际化与本地化支持(学习笔记)
- Asp.Net Ajax 学习笔记20 ASP.NET AJAX的全球化与本地化功能
- Asp.Net Ajax 学习笔记20 ASP.NET AJAX的全球化与本地化功能
- 【jqGrid for ASP.NET MVC Documentation】.学习笔记.3.本地化语言包
- [学习笔记] ASP.NET应用程序性能优化
- Asp.Net Core + Dapper + Repository 模式 + TDD 学习笔记
- Asp.net core 2.0.1 Razor 的使用学习笔记(一)
- ASP.NET 2.0 Theme 学习笔记
- ASP.NET MVC学习笔记 -- NerdDinner实战1 -- 中文Visual Studio 2008的设置修改以实现复数表单数类名
- [ASP.NET学习笔记之二十八]ASP.NET中的Web服务
- ASP.NET MVC学习笔记3
- ASP.NET Forum 学习笔记系列--Web.config
- ASP.NET常用信息保持状态学习笔记一
- MVC学习笔记之:ASP.NET MVC的客户端验证-jQuery.validate验证集合Model验证中的实现
- <原>ASP.NET 学习笔记之HTML helper中参数何时会是路由参数,何时又会是query string?
- 黑马程序员之ASP.NET学习笔记:将数据导出到Word或Excel
- ASP.NET MVC学习笔记-Controller与View传值
- 学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(二)