asp.net中资源文件的使用

当我们开发ASP.NET应用程序时,使用多语言资源文件是一种良好的实践。本文将为你介绍ASP.NET应用程序中资源文件的用法。

资源文件的定义和分类

资源文件是什么?

资源文件(Resource File)是指保存一个或多个文本字符串、图像、音频或其他类型数据的文本文件。 .NET Framework 提供了一种能够以有组织的方式存储、访问和管理资源的方式,称之为资源管理器。 我们可以把表情、提示信息、页面标题文字、客户端脚本等放到资源文件中,即使应用程序需要支持多语言,也能方便的进行管理。

资源文件的分类

ASP.NET 支持内嵌资源文件、本地化资源文件和全局化资源文件三种类型的资源。三种资源处理方式的主要区别在于:

  • 内嵌资源文件 .resx 文件是嵌入在程序集中的,且只能包含默认语言的内容。
  • 本地化资源文件 .resx.resxx 文件包含应用程序中某个语言的翻译版本。
  • 全局化资源文件 和本地化同义。.resx.resx.resx 文件包含多个附属语言翻译版本,程序会使用相关的本地化文件动态加载资源。例如页面使用代码和控件分别采用英文和中文实现的,使用全局化即便默认语言为英语,也可以设定使用本地化数据。

ASP.NET资源文件的命名规则是:文件名.语言.后缀名.resx。其中,语言部分采用 ISO 639-1 代码标准:

  • zh-CN: 中文(简体中文)
  • zh-HK: 中文(香港)
  • zh-TW: 中文(台湾地区)
  • en-US: 美国英文
  • en-GB: 英国英文

等等

使用资源文件

我们可以使用代码,通过HttpContext.GetGlobalResourceObject和HttpContext.GetLocalResourceObject方法来获得资源文件中的内容。以下是一个简单的示例:

// 获取全局资源文件
string title = HttpContext.GetGlobalResourceObject("Resource", "Title").ToString();

// 获取本地化资源文件
string keyword = HttpContext.GetLocalResourceObject("~/Default.aspx", "Keyword").ToString();

在这个例子中,假设我们有两个资源文件 "Resource.en-US.resx" 和 "Default.en-US.resx",分别存储全局资源和本地化资源。这两个资源定义都包含同名的"Title" 和 "Keyword" 的字符串。

需要注意的是,上面的资源文件名字是在项目检查文件是否在合适目录中并且文件名/语言顺序对应恰当时才会读取到的,而资源文件的生成顺序也是如果本地化资源文件中缺少资源,那么 ASP.NET 会自动地从全局资源文件中获取相应的值。

创建资源文件和资源键

我们可以通过 Visual Studio 工具来创建ASP.NET应用程序的资源文件,方法是右键单击应用程序项目,然后选择 "添加" -> "资源文件"。我们需要为项目的每种语言创建一个单独的资源文件。

在资源文件中包含一个或多个名称/值对,这些名称/值对被称为资源键,值可以包括任何字符串或对象类型,例如字串字符串、位图图片等等。有了资源文件和资源键,我们就可以在应用程序中很容易地引用一个资源了。

以下是一个 "Resource.resx" 文件的示例代码:

//Resouce.resx

<data name="Title" xml:space="preserve">
  <value>My Title</value>
  <comment>Web Site Title</comment>
</data>
<data name="Welcome" xml:space="preserve">
  <value>Welcome to my web site.</value>
  <comment>Welcome Message</comment>
</data>

因为这是一个全局资源文件,所以我们可以从任何页面中访问这些资源,方法是在代码中调用HttpContext.GetGlobalResourceObject 方法。

string title = HttpContext.GetGlobalResourceObject("Resource", "Title").ToString();
string welcome = HttpContext.GetGlobalResourceObject("Resource", "Welcome").ToString();

我们也可以使用本地化资源文件来存储特定语言的资源。 接下来,我们将在 "Default.aspx" 页面中创建一个本地化资源文件 "Default.aspx.resx",使用 "zh-CN" 作为语言网格,则文件名为 "Default.aspx.zh-CN.resx"。

<data name="Keyword" xml:space="preserve">
  <value>ASP.NET</value>
  <comment>Keywords for SEO</comment>
</data>

我们可以使用HttpContext.GetLocalResourceObject方法来检索本地化资源文件中的资源。

string keyword = HttpContext.GetLocalResourceObject("~/Default.aspx", "Keyword").ToString();

以上是本文的 ASP.NET 中资源文件的使用攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net中资源文件的使用 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#中Entity Framework常见报错汇总

    下面是详细讲解“C#中EntityFramework常见报错汇总”的完整攻略。 C#中EntityFramework常见报错汇总 1. 连接字符串错误 连接字符串错误是EntityFramework中最常见的错误之一。连接字符串属于配置信息中的一部分,提供给DbContext使用。连接字符串可以包含数据库的名称、数据库服务器的名称(或IP)和其他必要的信息,…

    C# 2023年5月15日
    00
  • C#中Override关键字和New关键字的用法详解

    在C#中,Override关键字和New关键字都用于重写父类成员。但是,它们的用法和效果有所不同。本文将详细介绍Override关键字和New关键字的用法和区别。 Override关键字 Override关键字用于重写父类的虚方法或抽象方法。以下是一个示例: class Animal { public virtual void Speak() { Conso…

    C# 2023年5月15日
    00
  • 基于C#实现语音识别功能详解

    基于C#实现语音识别功能详解 简介 语音识别是目前非常流行的人机交互方式之一,也有很多应用场景,诸如:车载音响、语音助手、智能家居等。本文将介绍如何使用C#实现语音识别功能。 准备工作 为实现语音识别功能,我们需要引入第三方库——Microsoft Speech SDK。首先需要前往Microsoft官网下载安装SDK,地址:https://www.micr…

    C# 2023年5月15日
    00
  • C#常见应用函数实例小结

    关于“C#常见应用函数实例小结”的完整攻略,可以按照以下步骤进行: 1. 确定需求 首先需要明确要实现的功能。比如,我们可以假设需要实现以下需求: 根据用户输入的字符串,判断其是否为数字; 给定一个句子,在其中查找某个子字符串,并将其替换为另一个字符串。 2. 查找相关函数 在确定了需求之后,需要查找相关的函数来实现。可以通过查阅C#官方文档、搜索引擎等方式…

    C# 2023年5月31日
    00
  • C#中使用jieba.NET、WordCloudSharp制作词云图的步骤

    下面我将为您详细讲解 C# 中使用 jieba.NET 和 WordCloudSharp 制作词云图的步骤。 准备环境 首先,您需要准备好以下环境: .NET Framework 4.0 及以上版本; jieba.NET; WordCloudSharp。 安装 jieba.NET jieba.NET 是一个分词工具,可以将文本分解成单词。您可以将其安装到您的…

    C# 2023年5月31日
    00
  • C# 使用 WebBrowser 实现 HTML 转图片功能的示例代码

    针对这个问题,我为您提供以下完整攻略: 功能介绍 本篇文章主要介绍如何使用C#中的WebBrowser控件实现将HTML转换为图片的功能。通过对WebBrowser控件进行截图,从而实现将HTML文件内容转换成图片。 实现步骤 1. 创建Windows Form应用程序 首先需要创建一个Windows Form应用程序,在窗体中添加一个按钮和一个WebBro…

    C# 2023年6月6日
    00
  • ASP.NET CORE读取json格式配置文件

    在ASP.NET Core应用程序中,您可以使用JSON格式的配置文件来存储应用程序的配置信息。本攻略将深入探讨如何读取JSON格式的配置文件,并提供两个示例说明。 读取JSON格式配置文件 读取JSON格式配置文件的步骤如下: 1. 创建JSON格式配置文件 在ASP.NET Core应用程序中,您需要创建JSON格式的配置文件。您可以在appsettin…

    C# 2023年5月17日
    00
  • 带你复习c# 托管和非托管资源

    带你复习c#托管和非托管资源 托管资源与非托管资源的概念 托管资源是指由CLR(公共语言运行库)进行垃圾回收和内存分配等管理的资源,常见的有.NET框架类库、用户自定义的类、字符串等。 而非托管资源是指CLR不进行资源管理的资源,常见的有操作系统资源、COM组件、指针、内存映射文件等。 如何释放非托管资源 在C#中释放非托管资源一般采用IDisposable…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部