.NET框架为使用System.Resources命名空间里的资源提供各种类。一个典型的例子是ResourceManager类,用它可以访问到针对各种文化的资源。但是如果没有指定是哪种文化,它就会回到默认的文化。
我们的例子没有定义多文化,所以默认是使用基本应用程序DLL的资源。下面列表B里的代码用ResourceManager类来使用保存在资源文件里的数据:
using System.Resources;列表C是相应的VB.NET代码:
Imports System.Resources代码在运行的时候会从特定的资源文件里检索数据——在本文中,就是与Web窗体相关联的资源文件。来自数据元素的文本被显示在Web页面上。这个例子非常简单,但是它表明了资源文件有很强的灵活性。你可以很容易就保存所有的用户界面文本(至少文本是相对静止的),包括工具栏的标签、标题、版权信息等等。
如前所述,你也可以向项目添加新的资源文件。要使用保存在新添加的资源文件里的数据,你就要用资源文件的名字,就像前面列表里使用TRResource.WebForm1那样。下面几行代码使用了一个叫做Example的资源:
ResourceManagerrm = new ResourceManager("NamespaceName.Example", a);Here's the equivalent VB.NET code:
Dim rm As ResourceManager尽管本文把注意力放在ASP.NET上,但是你可以对Windows Forms应用程序使用同样的方式。一个大的不同之处是在VB.NET里Windows的应用程序在默认情况下不带有资源文件,所以你必须向项目添加资源文件。
应用程序的交付
如果你正在开发只使用一种语言的应用程序,那么将它推给Web服务器与其它任何项目都没有差别。但是,如果你在通过资源文件提供本地化的文档,你就必须按照特定的方式来确保.NET能够找到特定文化/语言所需要的资源。这不是本文讨论的范围,但是MSDN在其Library Entry里提供大量的信息。
更多选择
在需要更改基本的网站文档的情况下,资源文件十分好用,能够节省大量的时间。你可能认为直接编辑ASP.NET页面上的文档也很容易,但是一个资源文件里保存的文字可能涉及多个页面。资源文件最佳的应用是提供多语言版本的网站。
Tony Patton的职业生涯开始于应用程序开发员,并已经获得了Java、VB、Lotus和XML的认证,以证明其专业知识水平。
责任编辑:张琎
用户评论