⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 internationalization.aspx

📁 书籍教程 >> .Net教程 >> asp.net编程精彩百例
💻 ASPX
字号:
<%@Page Language="C#" ResponseEncoding="utf-8" %>
<%@Import Namespace="System.Globalization"%> <%@ Register TagPrefix="Acme" TagName="SourceRef" Src="/quickstart/aspplus/util/SrcRef.ascx"%>

<!-- #include virtual="/quickstart/aspplus/include/header.inc" -->

<h4>国际化概述</h4>


<div class="indent" style="font-family:Verdana; font-size:8pt;">
    <b> <img align="middle" src="/quickstart/images/bullet.gif">&nbsp;&nbsp;</b>
  <a class="toc2" href="#encoding">编码支持</a><br>
    <b> <img align="middle" src="/quickstart/images/bullet.gif">&nbsp;&nbsp;</b>
  <a class="toc2" href="#localization">本地化支持</a><br>
    <b> <img align="middle" src="/quickstart/images/bullet.gif">&nbsp;&nbsp;</b>
  <a class="toc2" href="#config">配置设置</a><br>
    <b> <img align="middle" src="/quickstart/images/bullet.gif">&nbsp;&nbsp;</b>
  <a class="toc2" href="#summary">本节小结</a><br>
</div>

<p>
<hr>

<!--BEGIN SECTION--> <a name="encoding"><span class="subhead">编码支持</span>
<p>

ASP.NET 在内部使用 Unicode。此外,ASP.NET 还使用 .NET 框架类库中的 <b>String</b> 类和相关的实用工具函数,它们也是内部 Unicode。与外界连接时,可以用几种方法来配置 ASP.NET 以使用已定义的编码,包括 .aspx 文件的编码、请求数据和响应数据。例如,可以用 Unicode 编码方式存储 .aspx 文件并将页的 HTML 输出转换为 ANSI 代码页,如 <nobr>ISO-8859-1</nobr>。

<!--BEGIN SECTION--> <br> <a name="localization"><br> <span class="subhead">本地化支持</span>
<p>

通过 <b>CultureInfo</b> 类可以访问区域设置的属性。此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的 <b>CurrentCulture</b>,和用于区域设置特定的资源数据查找的 <b>CurrentUICulture</b>。
<p>

以下代码显示了 Web 服务器上的区域性值。注意:<b>CultureInfo 类</b>是完全限定的。
<div class="code"><pre>
&lt;%@Import Namespace="System.Globalization"%&gt;
...
&lt;%=CultureInfo.CurrentCulture.NativeName%&gt;
&lt;%=CultureInfo.CurrentUICulture.NativeName%&gt;
</pre></div>

<p>
结果如下:
<p>

<div class="code">
<%=System.Globalization.CultureInfo.CurrentCulture.NativeName%> <br>
<%=System.Globalization.CultureInfo.CurrentUICulture.NativeName%>
</div>
<p>

对于如日期/时间格式或货币这样与区域设置相关的数据,ASP.NET 使用公共语言运行库中的 .NET 框架类库支持。ASP.NET 页上的代码可以使用与区域设置相关的格式化例程,如 <b>DateTime.Format</b>。例如,下列代码以长格式显示当前日期:第一行依照系统区域设置,第二行依照德语 (“de”) 区域设置:

<div class="code"><pre>
&lt;%=DateTime.Now.ToString("f")%&gt;
&lt;%=DateTime.Now.ToString("f", new System.Globalization.CultureInfo("de-DE"))%&gt;
</pre></div>

<p>
结果如下:
<p>

<div class="code">
<%=DateTime.Now.ToString("ff")%><br>
<%=DateTime.Now.ToString("ff", new System.Globalization.CultureInfo("de-DE"))%>
</div>


<!--BEGIN SECTION-->

<a name="config"><br> <span class="subhead">配置设置</span>
<p>

创建 ASP.NET 页或代码隐藏模块时,开发人员可以使用 .NET 框架类库为全球化环境或本地化应用程序提供必要的功能。ASP.NET 还提供使 ASP.NET 应用程序的开发和管理变得容易的配置设置。
<p>

ASP.NET 使用配置文件来提供通常也由子目录继承的目录设置。每个文件都可以包含 <b>Globalization</b> 节,在其中可以指定默认的编码和区域性。如果值为相关的类 <b>Encoding</b> 和 <b>CultureInfo</b> 所接受,则它们是有效的。在 .NET 框架 SDK 中可以找到有关 <b>Encoding</b> 和 <b>CultureInfo</b> 类的更多信息。

<div class="code"><xmp>
<configuration>
  <system.web>
    <globalization
       fileEncoding="utf-8"
       requestEncoding="utf-8"
       responseEncoding="utf-8"
       culture="en-US"
       uiCulture="de-DE"
    />
  </system.web>
</configuration>
</xmp></div>

在 <b>Globalization</b> 节中,<b>fileEncoding</b> 的值决定 ASP.NET 编码 .aspx 文件的方式,<b>requestEncoding</b> 和 <b>responseEncoding</b> 的值决定请求数据和响应数据的编码方式。
<p>

Web.config 文件中的 <b>Globalization</b> 节的属性也可以在 <b>Page</b> 指令上指定(<b>fileEncoding</b> 除外,因为它应用于文件本身)。这些设置仅对特定页有效并且重写 Web.config 文件的设置。下列示例指令指定页应对响应使用“法语”区域性设置和 UTF-8 编码:

<div class="code"><pre>
&lt;%@Page Culture="fr-FR" UICulture="fr-FR" ResponseEncoding="utf-8"%&gt;
</pre></div>
<p>

<b>注意:</b>在页内,可以通过设置 <b>Thread.CurrentCulture</b> 和 <b>Thread.UICulture</b> 以编程方式更改区域性值。
<p>

<h4><a name="summary">本节小结</a></h4>
<ol>
<li>ASP.NET 支持 .aspx 文件、请求数据和响应数据的广泛编码。
<li><b>CultureInfo</b> 类提供对区域设置相关数据的支持,在该类中跟踪两个值 <b>CurrentCulture</b> 和 <b>CurrentUICulture</b>。
<li>可以为每台计算机、每个目录和每页配置国际化设置。
</ol>


<!-- #include virtual="/quickstart/aspplus/include/footer.inc" -->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -