标签:
在 ASP.NET 2.0 中,可以从任何页面使用本地化 API 函数或使用控件来检索资源。例如,以下代码分别检索本地页面资源和全局资源。
this.labHelloLocal.Text = this.GetLocalResourceObject("labHelloLocalResource1.Text") as string;
this.labHelloGlobal.Text = this.GetGlobalResourceObject("CommonTerms", "Hello") as string;
我前面提到,声明性本地化表达式也可用于设置资源中的页和控件属性。隐式本地化表达式,如:<asp:Label ID="labHelloLocal" runat="server" Text="Hello" meta:resourcekey="labHelloLocalResource1" ></asp:Label>和显式本地化表达式,如:
<asp:Label ID="labHelloGlobal" runat="server" Text="<%$ Resources:CommonTerms, Hello %>" ></asp:Label>用于生成代码以调用 GetLocalResourceObject() 和 GetGlobalResourceObject()。应该告诉您的是,ASP.NET 2.0 访问资源的方式最终是通过这些方法实现的,即使您利用了声明性表达式的便利。 这也正是资源提供程序模型起作用的地方。这些 API 调用依赖默认或自定义 ResourceProviderFactory 才能找到正确的资源条目并收集其值。默认的 ResourceProviderFactory 为上面提到的 ResXResourceProviderFactory 类型。此工厂为全局资源返回 GlobalResXResourceProvider 的一个实例,为本地页面资源返回 LocalResXResourceProvider 的一个实例。 最后,这些提供程序依赖 ResourceManager 以访问相应附属程序集中的各个资源。提供程序使用 ResourceReader 在页面解析步骤期间收集页面资源集合。图 3 说明了与默认资源提供程序模型关联的这些重要组件。
图 3 组成默认资源提供程序模型的组件:提供程序工厂、本地和全局资源提供程序、资源管理器及访问各资源类型的资源读取器
此提供程序具有以下一些优点:
- 它处理各 ResourceManager 的激活和生存期。
- 本地化表达式及其他资源 API 利用提供程序查找资源,因此通过简化和提取的 API 增加了生产率。
- 提供程序模型可扩展,因此可以继续利用 ASP.NET 2.0 的生产力功能的同时,更改资源存储位置。
![]() |
郭晶晶嫁豪门聘礼曝光(图)
刘翔:请大家相信我 我会回来的
李小鹏终身大事自己做主
|
![]() |
体操个人全能王杨威18种金牌拼搏表情 让人叹为观止的奥运观众头顶风光(图) |
![]() |
![]() |
![]() |


档案
日志
相册
视频








评论
想第一时间抢沙发么?