在ASP.NET 2.0中实现本地化(2)

发表于:2007-06-30来源:作者:点击数: 标签:
全局资源的实现: 在我们的项目中通常有很多重复的东西,比如MastERPage,用户控件,菜单,甚至还有一些提示信息等这些东西如果包含在多个页面,我们每次都需要重复制作他们的资源文件,这非常不科学,所以我们要手动的来制定全局资源。这个时候先要建立一个
     全局资源的实现:
     在我们的项目中通常有很多重复的东西,比如MastERPage,用户控件,菜单,甚至还有一些提示信息等这些东西如果包含在多个页面,我们每次都需要重复制作他们的资源文件,这非常不科学,所以我们要手动的来制定全局资源。这个时候先要建立一个\App_GlobalResources目录然后在下面添加资源文件,先看看IDE提供给我们的资源文件编辑器
  
  
  
  非常多种的类型,我们访问全局资源不需要考虑太多,比如说一个资源文件是Flags.resx,试试在编译器内输入Resources.Flags,当再次按下.的时候,智能感应出来了
  
  
  
  可见这些资源文件都被编译成了强类型的类,比如说图片资源我们得到的类型是System.Drawing.Bitmap
     本地资源访问:
     通常我们使用meta:resourcekey来指定控件的资源,如果说一个控件的资源前缀是LinkButtonResource1的话,那么它的Text属性的资源就是LinkButtonResource1.Text,这个是生成资源文件的时候IDE自动做的,如果我们需要在程序中访问本地资源可以按照下面的例子:
  
   LinkButton button1 = new LinkButton();
   this.lnkSelectCulture = button1;
   button1.ID = "lnkSelectCulture";
   button1.PostBackUrl = "selectculture.ASPx";
   button1.Text = ((string)
   base.GetLocalResourceObject("LinkButtonResource1.Text"));
   button1.ToolTip = ((string)base.GetLocalResourceObject("LinkButtonResource1.ToolTip"));
  
  
     当然,如果你不想你的控件使用资源文件可以按照下面的例子修改:
  
   <asp:LinkButton id=lnkSelectCulture PostBackUrl="selectculture.aspx"
   runat="server" meta:localize="false">Change Culture Settings</asp:LinkButton>
  

原文转自:http://www.ltesting.net