公司业务需要在国外开展了, 因此以前的系统要做多国语言了, 从网上搜集了好多资料, 最后选择了一个比较简单的方案

1.  打开vs2005, 新建网站,

  首先在配置文件中添加配置:

  <system.web>

    <globalization culture="auto" uiCulture="auto"/>

  </system.web>

  添加asp.net文件夹App_GlobalResources, 添加“资源文件”, 如下图

  

2. 复制Resource.resx, 粘贴到App_GlobalResources文件夹下, 更改名称为Resource.en-us.resx,内容更改如下:

  

3. asp:Label调用

  <asp:Label ID="Label1" runat="server" Text="<%$Resources:Resource,msg1%>"></asp:Label>

4. asp:Button调用

  <asp:Button ID="Button1" runat="server" Text="<%$ Resources:Resource,msg1 %>" OnClientClick="test();" />

5. js调用

  alert("<%=Resources.Resource.msg1 %>");

6 后台调用

  <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>

  Label2.Text = Convert.ToString(GetGlobalResourceObject("Resource", "msg1"));

7. 图片资源

  <asp:Image ID="Image1" runat="server" />

  然后在Page_Load中Image1.ImageUrl = "~/Image.aspx?culture=" + Convert.ToString(Session["culture"]);

  

protected override void InitializeCulture()
{
base.InitializeCulture();
if (null != Session["culture"])
{
string c = Convert.ToString(Session["culture"]);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(c);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(c); }
} protected void Page_Load(object sender, EventArgs e)
{
string c = Request["culture"];
System.Drawing.Bitmap img = (System.Drawing.Bitmap)GetGlobalResourceObject("Resource","test"); System.IO.MemoryStream ms = new System.IO.MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); Response.ClearContent();
Response.ContentType = "image/jpeg";
Response.BinaryWrite(ms.ToArray()); img.Dispose();
ms.Dispose();
ms.Flush();
}

8 手动设置语言

  

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Value="zh-cn">中文</asp:ListItem>
<asp:ListItem Value="en-us">english</asp:ListItem>
</asp:DropDownList>
protected override void InitializeCulture()
{
base.InitializeCulture();
if (null != Session["culture"])
{
string c = Convert.ToString(Session["culture"]);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(c);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(c);
}
} protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string c = DropDownList1.SelectedValue;
if (!string.IsNullOrEmpty(c))
{
Session["culture"] = c;
this.Response.Redirect("~/Default.aspx", true);
}
}

asp.net2.0 国际化的更多相关文章

  1. 【IHttpHandler】在ASP.Net2.0中使用UrlRewritingNet实现链接重写

    很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs. ...

  2. asp.net2.0安全性(2)--用户个性化设置(1)--转载来自车老师

    在Membership表中可以存储一些用户的基本信息,但有的时候,我们需要记录的用户信息远远不止Membership表中提供的这些,如QQ.MSN.家庭住址.联系电话等等.那如何把这些用户信息记录到数 ...

  3. asp.net2.0安全性(2)--用户个性化设置(2)--转载来自车老师

    上一篇我们用Profile.age等方式可以读取用户的年龄和其它的信息,但有的时候我们要查询显示所有用户的信息,但asp.net没有提供查询所有用户信息的功能,我们只能对现有的用户逐一查询其Profi ...

  4. asp.net2.0安全性(3)--验证与授权--转载来自车老师

    "验证"与"授权"是对网页资源安全管理的两道门. 验证(Authentication):检查用户是否是合法的用户.就像是网站大门口的保卫,服责验证使用的用户名和 ...

  5. asp.net2.0安全性(1)--用户角色篇(类)--转载来自车老师

    Membership.MembershipUser和Roles类 用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的. Membership:用户成员账号管理, ...

  6. asp.net2.0安全性(1)--用户角色篇(起篇)--转载来自车老师

    安全管理的解决方案在.net1.1中几乎为一片空白,对于应用程序的验证与授权大部分的工作是开发人员自己编写代码,或者是借助企业库等工具来实现,此可谓.net1.1中的一大缺憾.在.net2.0中微软为 ...

  7. Asp.Net2.0下C#环境 Login控件实现用户登录

    原文:Asp.Net2.0下C#环境 Login控件实现用户登录 一.前台显示效果 二.前台代码             <asp:Login ID="Login1" run ...

  8. ASP.NET2.0组件控件开发视频 初体验

    原文:ASP.NET2.0组件控件开发视频 初体验 ASP.NET2.0组件控件开发视频 初体验 录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku. ...

  9. ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

    原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开 ...

随机推荐

  1. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  2. 根据当前IP获取当时所在信息

    现在很多系统,都要在登录时候,确定当前用户所在的位置.这里记录一个C#使用Http的方式获取当前IP所在的位置信息.主要使用的api是新浪的接口. public partial class sina ...

  3. B - 娜娜梦游仙境系列——跳远女王

    B - 娜娜梦游仙境系列——跳远女王 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Other ...

  4. C. Anya and Smartphone

    C. Anya and Smartphone time limit per test 1 second memory limit per test 256 megabytes input standa ...

  5. ava SE ---逻辑运算符

      java中有4个逻辑运算符:&与,&& 逻辑与,| 或,|| 逻辑或这些运算符要求操作数和结果值都是布尔型. a&&b   a||b 1) 逻辑与& ...

  6. 【¥200代金券、iPad等您来拿】 阿里云9大产品免费公测#10月9日-11月6日#

    #10.09-11.06#200元代金券.iPad大奖, 9大产品评测活动! 亲爱的阿里云小伙伴们: 云产品的多样性(更多的云产品)也是让用户深度使用云计算的关键.今年阿里云产品线越来越丰富,小云搜罗 ...

  7. Oracle基础 锁

    一.锁 数据库是一个多用户使用的共享资源.当多个用户并发地存储数据时,数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 锁是实现 ...

  8. 【AR】Vuforia App key is missing.Please get a valid key

    在跑Vuforia 的sample android app 的时候报了下面这个错,找了半天才找到解决方法: "Vuforia App key is missing. Please get a ...

  9. StdRandom.java

    /************************************************************************* * Compilation: javac StdR ...

  10. 实例--post请求,完成一个抽奖程序概率的测试

    一个web项目测试,测试抽奖概率的正确性,写了一个小代码,验证概率 post和get请求的一个工具类 package kankan_interface; import java.io.IOExcept ...