loading ...
loading...

2008-03-17 | 资源程序集和 ResourceManager

分享
标签: 资源  控件  本地  生成  表达式 
ASP.NET 2.0 提供了生成各页面本地资源的功能。因此,出现了更有效的页面设计和国际化过程。 通过应用静态 HTML 和 ASP.NET 服务器控件组合设计页面。
  1. 通过将静态区与 ASP.NET 本地化控件一起封装,准备好用于本地化的静态区。
  2. 向所有服务器控件提供适当控件名称,以便可以很容易地识别生成的事件处理程序及资源键。
  3. 在 App_GlobalResources 子目录中创建共享资源。这些可以是已经存在的 .resx 文件,也可以是创建的用于保存多个页面间共享项的新 .resx 文件。
  4. 在适当的时候使用显式资源表达式将共享资源与控件属性关联。最好在生成页面的本地资源前执行此操作。
  5. 通过选择“Generate Local Resource”(生成本地资源)菜单项,在页面设计视图中生成本地资源。
生成本地资源后,页及其控件的所有本地化属性将被传送到单独的本地资源文件,每页一个。隐式本地化表达式告诉页解析程序基于公用前缀生成代码,这些代码将控件的各资源值映射到其相应属性。请考虑示例代码中 Expressions.aspx 页的以下隐式表达式。
<asp:Label ID="labHelloLocal" runat="server" Text="Hello" meta:resourcekey="labHelloLocalResource1" ></asp:Label>
资源存储在 App_LocalResources 目录下的 Expressions.aspx.resx 文件中。此 Label 控件的资源共享前缀“labHelloLocalResource1”;例如,Text 属性由“labHelloLocalResource1.Text”键存储。 如果您很好地分解用户界面,使用主页和用户控件用于公共用户界面区,则为各主页、用户控件和页生成的最终资源也将在一定程度上得到合适的分解(重叠减少)。这使得组织各页面部分使用的资源更容易,这在过去的版本中通常是很麻烦的事。有时您还要从共享位置提取资源。此种情况下,您将提供一个显式资源表达式,如此处显示的 $Resources 表达式。
<asp:Label ID="labHelloGlobal" runat="server" Text="<%$ Resources:CommonTerms, Hello %>"></asp:Label>
此种情况下,资源位于 App_GlobalResources 目录下的 CommonTerms.resx 中。可使用“表达式编辑器”(请参见先前提到的 MSDN 文章)创建此类显式表达式,以简化过程。 隐式表达式和显式表达式都触发代码生成以使用资源提供程序检索资源值。这些声明性表达式,结合代码和资源生成,提供了一个前所未有的高效工具,至少对 Web 应用程序是这样。

资源程序集和 ResourceManager

有几种方法可编译及部署 ASP.NET 2.0 应用程序:
  • 部署源代码并且 JIT 编译整个站点。
  • 使用可更新的页和资源重新编译站点。
  • 重新编译站点以每个页生成一个程序集或每个目录生成一个程序集。
无论哪种情况,最后都将为站点中的各目录创建资源程序集,并在其各自的语言特定目录下生成附属程序集。
分享 分享 |  评论 (0) |  阅读 (?)  |  固定链接 |  发表于 14:35
搜狐博客温馨提示:搜狐博客官方不会要求参加活动的各位博友缴纳任何的手续费用。请勿轻信留言、评论中的中奖信息,更不要拨打陌生电话及向陌生帐户汇款,谨防受骗!识别更多网络骗术,请 点击查看详情
您还未登录,只能匿名发表评论。或者您可以 登录 后发表。
 
  *中国人爱国心,搜狗输入法爱国主题皮肤下载>>
表  情:
加载中...
回复通知: 同时用小纸条通知对方该回复