1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <title>asp.net多语言支持例子</title>
  8. </head>
  9. <body>
  10. <form id="form1" runat="server">
  11. <div>
  12. <asp:DropDownList ID="ddlLanguage" runat="server" AutoPostBack="true"
  13. onselectedindexchanged="ddlLanguage_SelectedIndexChanged">
  14. <asp:ListItem Text="France" Value="fr"></asp:ListItem>
  15. <asp:ListItem Text="简体中文" Value="zh-cn"></asp:ListItem>
  16. <asp:ListItem Text="English" Value="en-us"></asp:ListItem>
  17. </asp:DropDownList>
  18. <asp:Label ID="lb1" runat="server" ></asp:Label>
  19. </div>
  20. </form>
  21. </body>
  22. </html>
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7.  
  8. public partial class test : PageBase //继承
  9. {
  10. private string CultureLang = "";
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. if (!IsPostBack)
  14. {
  15. lb1.Text = Resources.Resource.LoginTitle;//后台代码中使用
  16. CultureLang = Session["PreferredCulture"].ToString().ToLower().Trim();
  17. switch (CultureLang)
  18. {
  19. case "zh-cn":
  20. this.ddlLanguage.Items.FindByText("简体中文").Selected = true;
  21. Session["PreferredCulture"] = "zh-cn";
  22. break;
  23. case "en-us":
  24. this.ddlLanguage.Items.FindByText("English").Selected = true;
  25. Session["PreferredCulture"] = "en-us";
  26. break;
  27. case "fr":
  28. this.ddlLanguage.Items.FindByText("France").Selected = true;
  29. Session["PreferredCulture"] = "fr";
  30. break;
  31. default:
  32. break;
  33. }
  34. //Response.Write(lb1.Text);
  35. }
  36. }
  37.  
  38. protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e)
  39. {
  40. string value = ddlLanguage.SelectedItem.Value;
  41. Session["PreferredCulture"] = value;
  42. //重定向页面
  43. Response.Redirect(Request.Url.PathAndQuery);
  44. }
  45. }
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Threading;
  6. using System.Globalization;
  7.  
  8. /// <summary>
  9. ///PageBase 的摘要说明
  10. /// </summary>
  11. public class PageBase : System.Web.UI.Page
  12. {
  13. public PageBase()
  14. {
  15. //
  16. //TODO: 在此处添加构造函数逻辑
  17. //
  18. }
  19.  
  20. protected override void InitializeCulture()
  21. {
  22. // 用Session来存储语言信息
  23. if (Session["PreferredCulture"] == null) { Session["PreferredCulture"] = Request.UserLanguages[0]; }
  24. string UserCulture = Session["PreferredCulture"].ToString();
  25. if (UserCulture != "")
  26. {
  27. //根据Session的值重新绑定语言代码
  28. Thread.CurrentThread.CurrentUICulture = new CultureInfo(UserCulture);
  29. Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
  30. }
  31. }
  32. }

创建“App_LocalResources”文件夹,建立三个资源文件,同样三个LoginTitle键,值不一样,对应各自语种

CultureInfo 类  参考 

http://msdn.microsoft.com/zh-cn/library/system.globalization.cultureinfo(v=vs.80).aspx

让asp.net网站支持多语言,使用资源文件的更多相关文章

  1. ASP.NET 网站支持多语言

    ASP.NET网站支持多语言 (本地资源文件和全局资源文件的调用及需注意的地方总结)   一.   本地资源文件(App_LocalResources): ①.     本地资源的生成及调用 1.本地 ...

  2. ASP.NET Core中结合枚举和资源文件显示列表

    模型类的某些属性以枚举形式出现,我们希望在打开编辑表单时在选择列表中显示枚举值.有时我们想要枚举元素名称,但有时我们想要使用自定义名称甚至翻译. 这个例子演示了如何获取枚举元素名称以选择ASP.NET ...

  3. 在IIS上新发布的网站,样式与js资源文件加载不到(资源文件和网页同一个域名下)

    在IIS上新发布的网站,网站能打开,但样式与js资源文件加载不到(资源文件和网页是同一个域名下,例如:网页www.xxx.com/index.aspx,图片www.xxx.com/pic.png). ...

  4. 部署在IIS服务器的asp.net 网站,禁止访问指定类型文件

    网站上的一些文件不希望用户访问,可以通过下面的方式简单实现.不需写代码(在IIS6下试验过). 第一步,在IIS中实现映射. 哪些文件需要特殊处理. 通俗的将就是将哪种类型的文件交给特定的工厂来处理. ...

  5. asp.net core系列 69 Amazon S3 资源文件上传示例

    一.  上传示例 Install-Package AWSSDK.S3 -Version 3.3.104.10 using Amazon; using Amazon.Runtime; using Ama ...

  6. 让你的.NET程序支持多语言

    辛辛苦苦做出来的软件,我们当然希望能让更多的人用,支持多语言是必须的.下面我将以Asp.net Web Form为例来介绍如何支持多语言.其他程序比如windows程序,过程都是大同小异的. 大概分以 ...

  7. asp.net MVC 3多语言方案--再次写, 配源码

    之前写了一篇asp.net MVC多语言方案,那次其实是为American Express银行开发的.有许多都是刚开始接触,对其也不太熟悉.现在再回过头去看,自己做一个小网站,完全用asp.net m ...

  8. ASP.NET网站伪静态下使用中文URL

    首先解释一下,什么是中文URL呢?它并不是我们常见的把汉字编码为 %CF%EC 这种形式,而是在URL中直接使用汉字 这种形式目前还不是很多见.因为不同的浏览器处理起来可能会有所不同,不过据我测试,I ...

  9. Win10 UWP 开发系列:使用多语言工具包让应用支持多语言

    之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...

随机推荐

  1. 建立maven工程pom.xml报错:web.xml is missing and <failOnMissingWebXml> is set to true

    解决方式:如图添加web.xml文件即可

  2. 【深入Java虚拟机】之八:Java垃圾收集机制

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173 对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了J ...

  3. JavaScript 父子页面相互调用总结

    父子页面相互调用是一个在开发中经常遇到的问题,但是没有找到过比较全面的文章介绍.在此总结下来,供大家参考. 四种方式 一般情况下,我们可以使用iframe.window的open.showModalD ...

  4. JS学习四(BOM DOM)

    BOM                Screen对象 console.log(window.width);//屏幕宽度 console.log(window.height);//屏幕高度 conso ...

  5. 【Alpha阶段】第四次 Scrum Meeting

    每日任务 1.本次会议为第 四次 Meeting会议: 2.本次会议在上午09:35,大课间休息时间在禹州楼召开,召开本次会议为20分钟,分析完善接下来的任务: 一.今日站立式会议照片 二.每个人的工 ...

  6. 201521123104 《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 1. List中指定元素的删除(题目4-1) 1.1 实验总结 这道题的关键是如何删除元素.一 ...

  7. 201521123114 《Java程序设计》第6周学习总结

    1. 本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 Q1.clone方法 1.1 Object ...

  8. 201521123020 《Java程序设计》第4周学习总结

    本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. (1)类注释的使用方法是: /** *(要注释的内容) */ (2)学习了Object类,学会了覆 ...

  9. json:JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  10. cxgrid学习

    delphi cxgrid控件哪个属性是设置不能编辑? cxgrid控件cxgridDBTable的OptionsData可以选择操作 cxGrid1DBTableView1下选择cxGrid1DBT ...