首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 操作系统-> Windows 2000教程
基于ASP.NET实现全球化-.NET教程,Asp.Net开发
作者:网友供稿 点击:19
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
共享下,用这个方法是可以的,试验通过


第一步,我们创建一个名为testrm的web application。这个项目将缺省包含
- assemblyinfo.cs
- testrm.csproj
- testrm.csproj.webinfo
- testrm.sln
- testrm.suo
- testrm.vsdisco
- webform1.aspx(包含aspx.cs和aspx.resx)
- global.asax(包含asax.cs和asax.resx)
- web.config
第二步,需要为项目创建若干不同语种的资源文件。在.net中,资源文件的扩展名是.resx,此文件是基本于xml的,vs.net提供了非常方便的资源文件编辑工具(个人感觉很象xmlspy),这儿就不多说了。在此,以简体中文(zh-cn)和美国英语(en-us)为例。通过“项目->添加新项->资源文件”向项目中分别添加名为string.en-us.resx和string.zh-cn.resx的资源文件,并在string.en-us.resx中添加一条记录,内容是name:string001;value:welcome,在string.zh-cn.resx中添加一条记录name:string001;value:欢迎。其xml文件的结构如下:
<?xml version="1.0" encoding="utf-8" ?>
<root>
...
<data name="string001">
<value>欢迎</value>
</data>
...
</root>
这儿有一点需要说明,如果你不是希望通过修改配置文件动态的切换语种,而是希望通过设置windows的“区域设置”功能来切换语种的话,请跳过第三步。(有这种需求吗???-_-)
这样,当此项目被编译后,在bin目录下将为出现en-us和zh-cn两个子目录,其中分别有一个dll文件。名为testrm.resources.dll。
第三步,修改global.asax和web.config文件以实现动态切换语种。
首先,我们需要在global.asax的application_beginrequest事件中添加如下代码:
protected void application_beginrequest(object sender, eventargs e)
{
thread.currentthread.currentculture = cultureinfo.createspecificculture(configurationsettings.appsettings["defaultculture"]);
}
这是最简单的应用,当然,你可以将一些配置项存储到cookie之中。
然后,在web.config中添加如下代码:
<appsettings>
<add key="defaultculture" value="zh-cn" />
</appsettings>
注意,appsettings元素与system.web属于同一层次。
最后,在webform1的page_load事件中加入如下代码:
public class webform1 : system.web.ui.page
{
private void page_load(object sender, system.eventargs e)
{
webform1 form1 = new webform1();
resourcemanager resmanager = new resourcemanager(form1.gettype().namespace + ".string", form1.gettype().assembly);
system.globalization.cultureinfo ci = system.threading.thread.currentthread.currentculture;

response.write(resmanager.getstring("string001",ci));
}

...
}
请大家注意上面这段代码中有下划线的这行代码,在vs.net 2002中,如果使用this.gettype().namespace和this.gettype().assembly.fullname得到竟然是asp和6fqpc_hh, version=0.0.0.0, culture=neutral, publickeytoken=null,获得的assembly显然是随机产生。但在c#的类文件和winform中是正常的,不清楚是什么原因。结果当然不用说,肯定是找不到相应的资源文件的。
此外,需要强调的一点是,这儿使用了form1.gettype().namespace + ".string",如果资源文件不是被放置在项目根目录下,而是被放在某个子目录下时,请注意修改项目的缺省命名空间。因为,资源文件被编译后,在项目的资源文件testrm.resources.dll的manifest(用ildasm查看)中会有如下一行,.mresource public testrm.string.zh-cn.resources或.mresource public testrm.string.en-us.resources。其基本的构成规则是项目缺省命名空间+资源文件所在目录名+资源文件名[+语种],如果一种项目的资源文件不分语种,如:我们定义了一个名为string.resx的资源文件,此时,编译项目后在bin目录下将不再会产生诸如zh-cn和en-us之类的子目录,资源文件将被直接嵌入项目的assembly中。同时,在项目的assembly的manifest中会有如下一行.mresource public testrm.string.resources。所以,如果资源文件不是放在项目的根目录,且缺省命名空间没有被改变的话,在试图使用resmanager.getstring时将会被提示“无法访问任何语种的资源文件”,原因就是上面所说的。
基本上,上述的这些就是我在研究基于asp.net实现全球化时的一些心得,希望能对一些朋友有所帮助。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·三层结构ASP.NET程序中,把实体类自动显示在页面上的例子(c#)-.NET教程,Asp.Net开发
·windows 2000 server系统帐号安全设置技巧
·java-汉字问题深入谈-JSP教程,Java技巧及代码
·asp.net 2.0下一个标准GRIDVIEW功能的实现(不用datasource控件)-.NET教程,Asp.Net开发
·自定义JSP标签(tag)浅议-JSP教程,Jsp/Servlet
·DataGrid输出到Excel并进行格式化处理-.NET教程,数据库应用
·The key of C# 学习笔记II-.NET教程,C#语言
·windows 2000操作系统启动菜单详解
·GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)-.NET教程,评论及其它
·发邮件的JAVA程序-JSP教程,邮件相关
最新文章
·在vista系统中任意设定鼠标滚动行数_windows vista
·英文blog赚钱的几个方向_网赚技巧
·做google adsense必备的点击统计软件asrep_网赚技巧
·十大adsense工具! top 10 adsense tools_网赚技巧
·php5对mysql5的任意数据库表的管理代码示例(四)_php技巧
·php5对mysql5的任意数据库表的管理代码示例(二)_php技巧
·用好的设计替代不好的_站长心得
·个人网站的常见五大弊病_站长心得
·使用google的广告十天后的观感和博客的钱途_google推广
·关于google adsense的几个敏感问题_google推广
相关主题
  • 基于asp.net ajax的webpart开发与部署_ajax教程
  • 基于ASP的收发文管理系统的设计与实现-ASP教程,ASP应用
  • 基于ASP的编程常见问题-ASP教程,ASP应用
  • 基于ASP的站内多值搜索-ASP教程,ASP应用
  • 基于ASP的站内多值搜索-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭