使用ASP.Net2.0国际化你的网站祥解

news/2024/5/16 16:30:20/文章来源:https://blog.csdn.net/badwps/article/details/1604305
这个功能其实大家早就知道了,现在由于有一个项目要用到这个技术,所以又去全面一些的查找了一下。自己纪录一下,方便于以后查找使用吧。
        创建可有多种语言版本的 Web 应用程序在 ASP.NET 2.0 版以前是一项复杂的任务。如果您使用资源文件 (RESX) 及 ResourceManager,则需要手动分离出可本地化的元素,并执行自己的资源加载过程,这需要花费您很多的精力并需要编写大量的代码。ASP.NET 2.0 版大大简化了此过程,并且增加了很多功能,如:
  • 对客户端浏览器发送的接受语言 (Accept-Language) HTTP 请求标头字段进行自动检测
  • 使用声明性资源表达式将控件或其属性连接到资源
  • 通过程序访问资源及强类型资源
  • 自动编译 RESX 或 RESOURCE 文件并将其链接到运行库附属程序集
  • 对资源的创建提供进一步的设计时支持
  • 提供具有完全的扩展性的模型,以使 RESX 模型能够交换出来

        首先要在页面级别(<%@ Page UICulture="auto" Culture="auto" %>)或整个Portal级别(在Web.config中<globalization uiCulture="auto" culture="auto"/>)定义特定 UICultureCulture 属性。这两个属性的值均为 auto。这将指示 ASP.NET 基于客户端浏览器的首选区域性为页的执行检测并设置当前线程区域性和 UI 区域性。如果不为auto则可以为其指定具体的语言。

        如果需要从数据库中读取的信息作为选择语言的标准,需要对Thread.CurrentThread.CurrentCulture 和 Thread.CurrentThread.CurrentUICulture 进行更改,并且需要在 InitializeCulture() 方法中进行,因为对首选浏览器语言的自动检测是在页生存期的早期发生的。 
        可以通过后台代码或直接在页面上调用资源文件中的内容。
        有两种形式的资源表达式:显式和隐式。

资源表达式形式说明
显式<%$ Resources:[filename prefix,]resource-key %>

显式表达式用于以声明性语法定义控件属性的值,resource-key(必需)用于映射到资源中的值。filename prefix 参数是可选的,filename 指定全局资源文件夹中的资源文件的名称。
隐式<asp:Label ID="Label1" runat="server" meta:resourcekey="resource-key-prefix" />

隐式表达式以声明性语法用作控件或对象的属性,并且定义 resource-key-prefix,用于为控件执行许多属性分配。资源文件包含许多具有常规形式 resource-key-prefix.Property 的潜在资源键,例如 Label1KeyPrefix.Text 和 Label1KeyPrefix.Font-name。所有资源都只能从本地资源获取。可以将表达式看作一个短格式表示法,用于在未显式在页中定义属性的情况下映射一个到多个控件属性。


        以编程的方法检索资源值:

        可以使用声明性语法将 ASP.NET 服务器控件属性值设置为资源值,也可以以编程方式检索资源值。如果在设计时资源值未知或者需要根据运行时条件设置资源值,可能会这样做。

        可以从本地资源文件和全局资源文件中获取资源值,这些文件使用的方法返回一个可强制转换为适当类型的对象。由于 ASP.NET 使用强类型编译全局资源,因此也可以使用强类型成员获取全局资源。

        调用 GetLocalResourceObjectGetGlobalResourceObject 方法以分别从全局资源文件或本地资源文件中读取特定的资源。在 HttpContext 和 TemplateControl 类中提供了这些重载方法。

        GetGlobalResourceObject 方法采用资源类名和资源 ID。该类名基于的是 .resx 文件名。例如,文件 WebResources.resx 和所有相关联的本地化文件都由类名 WebResources 引用。

        GetLocalResourceObject 方法采用表示 ResourceKey 属性的资源名。

        下面的代码示例演示如何从本地资源文件和全局资源文件获取资源值。这些方法返回一个对象;因此,必须将该资源强制转换为适当的类型。

        存储在 App_LocalResources 特殊文件夹中的默认本地资源文件根据 ASP.NET 页命名。例如,如果在 Default.aspx 页中使用了下面的代码,则必须将该资源文件命名为 Default.aspx.resx。在此示例中,向此文件添加了一个名为 Button1.Text 的字符串资源,并且该资源带有 "Found Resources" 值。

        此外,在此示例中,存储在 App_GlobalResources 特殊文件夹中的默认全局资源文件命名为 WebResourcesGlobal.resx。向此文件添加了一个名为 LogoUrl 的字符串资源,而且该资源带有http://go.microsoft.com/fwlink/?LinkId=49295 值或其他图像的 URL

<% @ Page Language = " C# "   %>

< script runat = " server " >
    
protected   void  Button1_Click( object  sender, EventArgs e)
    
{
        Button1.Text 
= 
            GetLocalResourceObject(
"Button1.Text").ToString();
        Image1.ImageUrl 
= 
            (String)GetGlobalResourceObject(
            
"WebResourcesGlobal""LogoUrl");
        Image1.Visible 
= true;
    }

</ script >

< html   >
< head id = " Head1 "  runat = " server " >
    
< title > Untitled Page </ title >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
    
< div >
        
< asp:Button ID = " Button1 "  runat = " server "  
            OnClick
= " Button1_Click "  
            Text
= " Get Resources "   />
        
< asp:Image ID = " Image1 "  runat = " server "  
            Visible
= " false "   />
    
</ div >
    
</ form >
</ body >
</ html >  
使用强类型检索全局资源
  • 按照下面的语法获取资源:

    Resources.Class.Resource

    资源将编译到命名空间 Resources 中,并且每个默认资源都将成为 Resources 类的成员。例如,如果创建了默认资源文件 WebResources.resx,并且该文件包含一个名为 WelcomeText 的资源,则可以在代码中引用该资源,如下面的代码示例所示:

    String welcome;
    welcome 
    =  Resources.WebResources.WelcomeText;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_907003.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos安装python学习环境和部署web网站

### linux下安装软件的方式 yum安装或者直接下载源码编译安装都行。 yum和源码编译安装的区别&#xff1f; 1.路径区别-yum安装的软件是他自定义的&#xff0c;源码安装的软件./configure --preifx软件安装的绝对路径 2.yum仓库的软件&#xff0c;版本可能比较低&#xff0c;而…

快捷键练习网站

https://www.shortcutfoo.com/

网站上线-新的开始

十分钟空间&#xff08;https://tmspace.cn&#xff09;——每天十分钟属于自己的一片空间&#xff0c;学习、阅读、娱乐让自己有一个好的开始。每天坚持十分钟&#xff0c;让自己生活充满幸福。 时间过得真快&#xff0c;现在都已经2020年了&#xff0c;时光匆匆&#xff0c;从…

整个网站变灰css样式

4月4日举行全国哀悼&#xff0c;致敬英雄&#xff0c;缅怀英烈。各大网站和视屏都在变灰&#xff0c;于是我也学习了一下css样式&#xff0c;向英雄致敬&#xff01; 4月4日举行全国哀悼&#xff0c;致敬英雄&#xff0c;缅怀英烈。各大网站和视屏都在变灰&#xff0c;于是我也…

80ms的快感,使用免费日本CDN加速网站

许多站长在架设网站时&#xff0c;选择了欧美或者国内单线主机&#xff0c;但是由于国内网络环境的特殊性&#xff0c;这些网站在国内或者不同运营商网络间的访问速度往往并不理想&#xff0c;通过使用CDN可以有效的提升访问速度&#xff0c;但是不菲的价格让中小站长望而却步&…

网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解

常用的网站性能测试指标有&#xff1a;吞吐量、并发数、响应时间、性能计数器等。 并发数 并发数是指系统同时能处理的请求数量&#xff0c;这个也是反应了系统的负载能力。 响应时间 响应时间是一个系统最重要的指标之一&#xff0c;它的数值大小直接反应了系统的快慢。响…

Java 专业人士必备的书籍和网站列表(转)

作者:mienflying 日期:2007-01-17 对于 Java™ 语言开发人员来说&#xff0c;信息过量是一个真正的问题。每个新入行的程序员都要面临一个令人畏缩的挑战&#xff1a;要进入的行业是一个具有海量知识的行业。要了解的东西简直 太多了。对于有经验的老手来说&#xff0c;情况只有…

分享我自己的导航网站bituplink导航 (附GitHub开源代码项目OneHtmlNav)

话不多说,先上资源 biuplink导航: http://www.bituplink.com/goodweb OneHtmlNav项目: https://github.com/bituplink/OneHtmlNav OneHtmlNav下载: 本地下载 或者github直接打包下载 小呆导航源项目: https://github.com/xiaodai945/WEBJIKE 然后上图 再然后说说这个项目的初…

#网站搭建# 手把手教你在宝塔环境下开启HTTPS

一般新站都是http协议&#xff0c;对于一般的运行当然没有什么大问题&#xff0c;但是在传输一些隐秘数据的时候可能会被攻击者拦截下来&#xff0c;还有就是好看一点浏览器访问的时候不会报不安全&#xff0c;于是我查了一下阿里云申请这个证书是免费的&#xff0c;申请一下然…

#网站搭建# Nginx配置解决跨域CROS跨域请求(同服务器站点互访)

在添加我的血小板&#xff08;血小板地址详见末尾个人博客地址&#xff09;到我的博客上面的时候&#xff0c;发生了这样一件小插曲&#xff1a;当我使用www.lyp123.com访问的时候&#xff0c;她不能显示了&#xff01;同样的站点为什么会不一样的结果呢&#xff1f;于是果断F1…

SEO将被AI人工智能颠覆,你准备好了吗?

谷歌、微软、苹果等各大公司的语音助手上线以来一直被用户各种问题“调戏”着&#xff0c;这些语音助手除了要“照顾”用户的生活起居工作出行&#xff0c;还要和无厘头的用户斗智斗勇。 智能语音助手的出现唤醒了用户听觉和语音层面的交互体验&#xff0c;为用户的生活方式提供…

Excel函数,数据透视表图,某招聘网站职位分析项目

源数据&#xff1a; 分析项目 求每家公司的最高薪资和最低薪资以及平均薪资 将职位包含数据分析、数据运营、分析师等的公司找出来 获取每家公司对应的公司地址放到Sheet1表里显示出来 得到一些具体数据&#xff1a;最低薪资大于15K的公司一共有多少家和最高薪资低于15K的…

python实现搜索引擎,数据检索项目:职业查询系统(基本的搜索引擎+爬虫拉勾网职业数据库),搜索引擎可以学习用户的标记,职业网站爬虫生成数据集

简介 信息检索小组项目&#xff0c;队友已同意上传 用spider爬拉钩网站 排序文档基于tfidf和cosine相似性 从搜索历史和用户标记的相关和不相关的结果中学习IDE规则方法&#xff0c;优化结果 基于Tkinter的UI 标准登录模块 主搜索窗口与页面切换 这里我只放出我贡献相关的部…

这10个白帽seo技巧,只有大神才会

我们一直都在谈白帽seo&#xff0c;那么&#xff0c;白帽seo的技巧你会几个呢?今天带大家来见识一下这10个白帽seo技巧&#xff0c;据说只有大神才会&#xff0c;一起来看看吧。   1.标题不是越长越好&#xff0c;太长反而成累赘&#xff0c;显示不完全&#xff0c;有时短标…

seo如何快速有效的引流

1、搜索引擎对品牌有一定的保护作用&#xff0c;而一旦发现你是在盗用别人的品牌网站将会受到降权处理。 2、用户是有品牌意识的&#xff0c;不会轻易把一个伪品牌当做品牌。 3、浪费时间给别人做品牌而没有建立自己的品牌。 4、选择用户习惯搜索的长尾关键词 同样内容的一篇文…

做seo如何有效的选择关键词

做网站SEO经常能看到一些网站出现奇葩的关键词&#xff0c;甚至你会去想这是怎么做到的?选择关键词有哪些方法呢?下面有优化 seo.ee seo小编为大家分享网站SEO优化选择关键词的方法吧! 选择关键词主要有以下5点需要注意&#xff1a; 1、不要选择生活常用词和形容词 曾经一个…

网站设计单页好还是多页好

我们一直都在谈白帽seo&#xff0c;那么&#xff0c;白帽seo的技巧你会几个呢?今天带大家来见识一下这10个白帽seo技巧&#xff0c;据说只有大神才会&#xff0c;一起来看看吧。 1.标题不是越长越好&#xff0c;太长反而成累赘&#xff0c;显示不完全&#xff0c;有时短标题更…