I:本博文代码示例效果图

好久没来写随笔了.不多说先上大饼! 
 
跟着直接上 [代码下载地址]

II:ASP.NET 资源文件介绍

在ASP.NET特殊文件夹内有那么两个不太引人注意,他们分别是App_GlobalResources, App_LocalResources. 

资源文件命名规则: {文件名}.{区域}.resx 
{区域}这一个是可以忽略的.当忽略{区域}时,如果Page.UICulture跟资源文件内所提供的{区域}都对不上号时,将会以没有设置{区域}的资源文件去呈现.

例如当Page.UICulture = “ja-JP”,而资源文件只有 
Resource.resx 
Resource.zh-CN.resx 
Resource.zh.resx 
Resource.en.resx 
Resource.en-US.resx 
ASP.NET因没有找到Resource.ja-JP.resx而会使用默认的Resource.resx去呈现.

ASP.NET资源文件夹

App_GlobalResources:这里存放全站都可以调用到的资源文件集(比如A.aspx,B.aspx,C.aspx都可以共享用到)

App_LocalResources:这里存放仅单个页面才能调用到的资源文件集(比如A.aspx只可以映射到A.aspx.{区域}.resx, B.aspx映射到B.aspx.{区域}.resx)

每一个资源文件代表着一种区域语言所需用到的资源文件.如上图例子MyGlobalResources 
  
在这里先介绍一下在web.config里面<system.web>下的子节点<globalization /> 
 
这里我把uiCulture设置为"auto"的话. Page.UICulture的属性将会自动对应为客户端浏览器设置的语言环境: 
 
上图中的设置将会影响到浏览器发起的Reqeust头的Accept-Language信息,上图的设置对应如下: 
 
如果没有把uiCulture设置为"auto"的话,ASP.NET系统将不会自动将客户端浏览器的语言环境对应到Page.UICulture.

在次关于.resx的文件结构我就不解释了.相信大家已经很熟悉了.它就类似于Key/Value的配置方式.

III.ASP.NET 中资源文件的使用

在上面提供的项目代码中.我只是写了3种语言(中文,英文,韩文)的资源.其配置入下图: 
 
在这里为大家介绍在aspx页里面的使用方法.

<%$ Resources:{类名}, {资源文件节点} %> 仅调用App_GlobalResources资源文件

<%$ Resources:{资源文件节点} %> 仅调用App_LocalResources资源文件

注意:这类标记必须使用在runat=”server”的标签内的属性使用如:

<asp:Literal ID="ltlSiteName" runat="server" Text="<%$ Resources:MyGlobalResources, SiteName %>"></asp:Literal>

<asp:Literal ID="ltlPassword" runat="server" Text="<%$ Resources:Password %>">

另外也可以用meta:resourcekey="ID”的方式: 

另外关于资源文件的代码生成.可以由如下图配置: 
 
另外有什么问题可以先看例子里的代码!

本文内的代码可以让客户选择一个语言环境然后装到Cookies里,然后登陆页面根据用户选择的语言环境去调用资源文件呈现界面.

在这里相信大家也了解到缺点:一个页面3个语言的话就需要配置3个.resx文件!觉得有点不便利!

本文到此结束.谢谢!

.Net资源文件全球化的更多相关文章

  1. Windows Store App 全球化:引用分离资源文件中的资源

    大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用 ...

  2. [Asp.net 5] Localization-resx资源文件的管理

    上一篇博文地址:[Asp.net 5] Localization-简单易用的本地化-全球化信息 本文继续介绍asp.net 5多语言.今天重点讲的是多语言的resx文件.涉及到的工程有:Microso ...

  3. 【Windows 10 应用开发】细说文本资源文件(resw)

    最近,小戏骨版<红楼梦>很是火热,老周一口气看完了9集,一直看到 Surface 的风扇呼呼响.林黛玉和薛宝钗这两个角色都演得不怎么样,倒是演史湘云的娃娃演得不错,老周甚是喜欢. 于是,昨 ...

  4. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  5. ABP文档 - 嵌入的资源文件

    文档目录 本节内容: 简介 创建嵌入的文件 暴露嵌入的文件 使用嵌入的文件 简介 一个web应用里,客户端包含javascript,css,xml等文件,这此文件被添加到一个web项目后,发布成独立的 ...

  6. Xamarin+Prism开发详解二:Xaml文件如何简单绑定Resources资源文件内容

    我们知道在UWP里面有Resources文件xxx.resx,在Android里面有String.Xml文件等.那跨平台如何统一这些类别不一的资源文件以及Xaml设计文件如何绑定这些资源?应用支持多国 ...

  7. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  8. Android-Drawable、Bitmap、byte[]、资源文件相互转换

    我们在Android的开发中,经常可以遇到图片的处理,当中,有很多是 Bitmap.Drawable.byte[]和资源文件它们直接相互转换. 今天就此总结一下: 1.资源文件转为Drawable 2 ...

  9. Spring 资源文件处理

    Java中,不同来源的资源抽象成URL,通过注册不同的handler(URLStreamHandler)来处理不同来源的资源的读取逻辑.一般handler的类型使用不同的前缀(协议,protocal) ...

随机推荐

  1. Android 自己的自动化测试(4)&lt;uiautomator&gt;

    在前面的系列文章.我与介绍java实现 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java):然后又介绍了用pyth ...

  2. swift通过摄像头读取每一帧的图片,并且做识别做人脸识别

    最近帮别人做一个项目,主要是使用摄像头做人脸识别 github地址:https://github.com/qugang/AVCaptureVideoTemplate 要使用IOS的摄像头,需要使用AV ...

  3. php.ini中最好禁止的一些函数

    phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息. 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec(). 危险等级 ...

  4. 图解MapReduceMapReduce整体流程图

    1.图解MapReduceMapReduce整体流程图 并行读取文本中的内容,然后进行MapReduce操作 Map过程:并行读取三行,对读取的单词进行map操作,每个词都以<key,value ...

  5. asp.net + Jquery 实现类似Gridview功能 (一)

    不知不觉2015年就过去一半了,由于过年前后公司人员陆续离职(这个...),项目忙不过来,从过年来上班就一直在忙,最近项目终于告一段落,开始步入正轨(不用天天赶项目了).所以最近才有时间写这个东西,可 ...

  6. Sql Server 2012启动存储过程

    可以通过如下步骤创建 1.打开show advanced options reconfigure 2.打开scan for startup procs,使得sql server在启动时扫描需要运行的p ...

  7. PHP读取CSV大文件导入数据库的示例

    对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指 ...

  8. LABJS源码浅析

    一.关于LABjs的简单介绍 作者:Kyle Simpson 作用:动态并行加载脚本文件 以及 管理加载脚本文件的执行顺序 官网:http://www.labjs.com/ 二.关于LABjs的使用 ...

  9. windows系统npm如何升级自身

    其实使用npm升级各种插件是很方便的,比如我想升级express框架,使用如下命令 npm update express 如果你的express是全局安装,则 npm update -g expres ...

  10. chapter 1 Number/Adventurous Person

    part1: 1- Which would be easier to remember a munber or a name? Well, I am better at remembering num ...