Asp.Net Ajax 学习笔记20 ASP.NET AJAX的全球化与本地化功能
2008-01-06 04:20
615 查看
本次课程讲的是对Asp.Net Ajax的全球化和本地化的开发。
首先说明了全球化和本地化的定义。
全球化是一个面向多种文化开发和设计一个应用程序的过程。
本地化是面向特定文化和地区定制应用程序的过程
全球化:面向多种文化,设计
本地化:面向特定文化,定制
结论:
- 全球化为应用程序提供多文化的支持
- 本地化"全球化"带来的支持进行定制
- 两者密不可分
在Asp.Net中使用全球化
首先在网站中创建App_GlobalResources文件夹,然后添加全球化资源文件GlobalResource.resx。在创建了基本的GlobalResource.resx文件之后,可以根据多语言创建对应的资源文件,如:要创建美国使用的资源可以创建GlobalResource.en-US.resx资源文件。注意en-US是标准的表示国家的编码。
在两个资源文件中创建相同名字的键,然后根据国家范围,指定相同名字的键的键值。如添加TodayIs的键,在GlobalResource.resx的键值为"今天是",在GlobalResource.en-US.resx的键值是"Today is"。
现在可以在对一个控件的值根据资源文件来赋值了,如创建一个lable,那么可以设置这个label的Text的值为Resources.GlobalResource.TodayIs。这样Web应用程序会根据当前客户发送过来的国家编码自动加载TodayIs的值。
如果手动改变Culture。我们可以在页面中重写InitializeCulture方法。在重写方法中我们可以通过以下代码来改变当前请求的文化值。
this.Page.UICulture = "en-us";
this.Page.Culture = "en-us";
注意根据Culture得到相对应的资源文件是由UICulture影响的,Culture只是影响文本显示的格式。在指定完Culture以后,一定要调用基类的InitializeCulture方法。除了通过手工代码指定外,还可以在页面上指定UICulture和Culture的值,并且也可以在web.Config文件里System.Web节点下添加
<globalization culture="auto" uiCulture="auto" />
节点。culture和uiCulture指定为auto表明根据客户端发送过来的国家信息,来使用相应的资源文件和对应的格式。UICulture和Culture都有两种设置方式,使用其中一种就可以了
this.Page.UICulture
Thread.CurrentThread.CurrentUICulture
this.Page.Culture
Thread.CurrentThread.CurrentCulture
除了在页面可以使用资源文件给控件赋值,还可以在页面上赋值。
<asp:Label runat="server" Text="<%$ Resources:GlobalResource, TodayIs %>" /><%= DateTime.Now.ToString("D") %>
这是使用ASP.NET 表达式给lable的Text属性赋值。
使用Asp.Net的本地化。
首先创建App_LocalResources文件夹,在文件夹下创建与页面名相同的资源文件。假设页面名为Default,那么本地化资源名叫Default.aspx.resx和Default.aspx.en-US.resx。并在资源文件中创建lblCurrentTime.Text键,并指定相应的值为"今天是"和"Today is "。
那么我们可以直接在页面上使用如下标记
<asp:Label runat="server" meta:resourcekey="lblCurrentTime" /><%= DateTime.Now.ToString("D") %>
使用了这种标记之后,页面会根据当前的Culture知道对应的本地化资源文件名,然后根据指定的resoucekey和指定的lblCurrentTime的键,得到相应的值。
在Asp.Net Ajax中使用全球化功能。
ASP.NET AJAX的全球化功能仅涉及到对象字符串的转换格式不涉及Global资源文件,仅取决于Culture,与UICulture无关
首先要把全球化功能打开
<asp:ScriptManager runat="server" ID="sm" EnableScriptGlobalization="true" />
那么我们在使用相应的文本和对象的时候需要我们使用localeFormat进行转换为相应的国家显示的格式标准。
在Asp.Net Ajax中使用本地化功能。
脚本名称加上Culture名即可,基于字符串拼接,仅由UICulture决定。意思就是说,Asp.Net Ajax的本地化功能是通过js脚本文件来实现的,基于另外一个国家或地区的脚本文件只需要讲脚本文件的后缀加上国家或地区的编码即可。如:DemoResource.js和DemoResource.en-US.js文件。在js脚本文件中是利用命名空间和类来实现资源文件的功能。
Type.registerNamespace("Demo");
Demo.Resx =
...{
"TodayIs" : "今天是"
}
那么在DemoResource.en-US.js文件里相应的就是
Type.registerNamespace("Demo");
Demo.Resx =
...{
"TodayIs" : "Today is "
}
1.首先在ScriptManager中打开本地化功能。并且指定资源文件的路径
<asp:ScriptManager runat="server" ID="sm" EnableScriptLocalization="true">
<Scripts>...
<asp:ScriptReference Path="~/Scripts/DemoResource.js"
ResourceUICultures="en-US" />
</Scripts>
</asp:ScriptManager>
2.然后我们可以之间使用资源文件中的类和常量
<script language="javascript" type="text/javascript">
document.write(Demo.Resx.TodayIs + new Date().localeFormat("yyyy/MM/dd"));
</script>
这样我们就可以根据客户端发送过来的国家和地区自动对应相应的资源文件
首先说明了全球化和本地化的定义。
全球化是一个面向多种文化开发和设计一个应用程序的过程。
本地化是面向特定文化和地区定制应用程序的过程
全球化:面向多种文化,设计
本地化:面向特定文化,定制
结论:
- 全球化为应用程序提供多文化的支持
- 本地化"全球化"带来的支持进行定制
- 两者密不可分
在Asp.Net中使用全球化
首先在网站中创建App_GlobalResources文件夹,然后添加全球化资源文件GlobalResource.resx。在创建了基本的GlobalResource.resx文件之后,可以根据多语言创建对应的资源文件,如:要创建美国使用的资源可以创建GlobalResource.en-US.resx资源文件。注意en-US是标准的表示国家的编码。
在两个资源文件中创建相同名字的键,然后根据国家范围,指定相同名字的键的键值。如添加TodayIs的键,在GlobalResource.resx的键值为"今天是",在GlobalResource.en-US.resx的键值是"Today is"。
现在可以在对一个控件的值根据资源文件来赋值了,如创建一个lable,那么可以设置这个label的Text的值为Resources.GlobalResource.TodayIs。这样Web应用程序会根据当前客户发送过来的国家编码自动加载TodayIs的值。
如果手动改变Culture。我们可以在页面中重写InitializeCulture方法。在重写方法中我们可以通过以下代码来改变当前请求的文化值。
this.Page.UICulture = "en-us";
this.Page.Culture = "en-us";
注意根据Culture得到相对应的资源文件是由UICulture影响的,Culture只是影响文本显示的格式。在指定完Culture以后,一定要调用基类的InitializeCulture方法。除了通过手工代码指定外,还可以在页面上指定UICulture和Culture的值,并且也可以在web.Config文件里System.Web节点下添加
<globalization culture="auto" uiCulture="auto" />
节点。culture和uiCulture指定为auto表明根据客户端发送过来的国家信息,来使用相应的资源文件和对应的格式。UICulture和Culture都有两种设置方式,使用其中一种就可以了
this.Page.UICulture
Thread.CurrentThread.CurrentUICulture
this.Page.Culture
Thread.CurrentThread.CurrentCulture
除了在页面可以使用资源文件给控件赋值,还可以在页面上赋值。
<asp:Label runat="server" Text="<%$ Resources:GlobalResource, TodayIs %>" /><%= DateTime.Now.ToString("D") %>
这是使用ASP.NET 表达式给lable的Text属性赋值。
使用Asp.Net的本地化。
首先创建App_LocalResources文件夹,在文件夹下创建与页面名相同的资源文件。假设页面名为Default,那么本地化资源名叫Default.aspx.resx和Default.aspx.en-US.resx。并在资源文件中创建lblCurrentTime.Text键,并指定相应的值为"今天是"和"Today is "。
那么我们可以直接在页面上使用如下标记
<asp:Label runat="server" meta:resourcekey="lblCurrentTime" /><%= DateTime.Now.ToString("D") %>
使用了这种标记之后,页面会根据当前的Culture知道对应的本地化资源文件名,然后根据指定的resoucekey和指定的lblCurrentTime的键,得到相应的值。
在Asp.Net Ajax中使用全球化功能。
ASP.NET AJAX的全球化功能仅涉及到对象字符串的转换格式不涉及Global资源文件,仅取决于Culture,与UICulture无关
首先要把全球化功能打开
<asp:ScriptManager runat="server" ID="sm" EnableScriptGlobalization="true" />
那么我们在使用相应的文本和对象的时候需要我们使用localeFormat进行转换为相应的国家显示的格式标准。
在Asp.Net Ajax中使用本地化功能。
脚本名称加上Culture名即可,基于字符串拼接,仅由UICulture决定。意思就是说,Asp.Net Ajax的本地化功能是通过js脚本文件来实现的,基于另外一个国家或地区的脚本文件只需要讲脚本文件的后缀加上国家或地区的编码即可。如:DemoResource.js和DemoResource.en-US.js文件。在js脚本文件中是利用命名空间和类来实现资源文件的功能。
Type.registerNamespace("Demo");
Demo.Resx =
...{
"TodayIs" : "今天是"
}
那么在DemoResource.en-US.js文件里相应的就是
Type.registerNamespace("Demo");
Demo.Resx =
...{
"TodayIs" : "Today is "
}
1.首先在ScriptManager中打开本地化功能。并且指定资源文件的路径
<asp:ScriptManager runat="server" ID="sm" EnableScriptLocalization="true">
<Scripts>...
<asp:ScriptReference Path="~/Scripts/DemoResource.js"
ResourceUICultures="en-US" />
</Scripts>
</asp:ScriptManager>
2.然后我们可以之间使用资源文件中的类和常量
<script language="javascript" type="text/javascript">
document.write(Demo.Resx.TodayIs + new Date().localeFormat("yyyy/MM/dd"));
</script>
这样我们就可以根据客户端发送过来的国家和地区自动对应相应的资源文件
相关文章推荐
- Asp.Net Ajax 学习笔记20 ASP.NET AJAX的全球化与本地化功能
- ASP.NET AJAX的国际化与本地化支持(学习笔记)
- Asp.Net Ajax 学习笔记22 使用Microsoft Ajax Library中的浏览器兼容功能
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- Asp.Net Ajax 学习笔记21 VS2008的JavaScript代码提示功能
- Asp.Net Ajax 学习笔记21 VS2008的JavaScript代码提示功能
- asp.net ajax学习系列功能强大的UpdatePanel控件
- ASP.NET 3.5核心编程学习笔记(57):针对AJAX应用程序的WCF服务
- ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器
- ASP.Net Ajax 学习笔记(2):UpdatePanel控件(中)
- 黑马程序员之ASP.NET学习笔记:AJAX解决什么问题?如何使用AJAX?
- ASP.NET Ajax 控件DropShadow,DropDown CollapsiblePanel 学习笔记
- ASP.Net MVC开发基础学习笔记(4):校验、AJAX与过滤器
- asp.net ajax 学习笔记
- ASP.NET MVC4 IN ACTION学习笔记-第六波[Ajax in ASP.NET MVC][3/3]
- 学习asp.net ajax 笔记(一)
- ASPNET AJAX RC1.0 学习笔记
- Asp.net Ajax 学习笔记5 UpdatePanel的使用(下)
- asp.net ajax学习系列功能强大的UpdatePanel控件
- ASP.NET MVC4 IN ACTION学习笔记-第六波[Ajax in ASP.NET MVC][2/3]