asp.net2.0 国际化
公司业务需要在国外开展了, 因此以前的系统要做多国语言了, 从网上搜集了好多资料, 最后选择了一个比较简单的方案
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 国际化的更多相关文章
- 【IHttpHandler】在ASP.Net2.0中使用UrlRewritingNet实现链接重写
很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs. ...
- asp.net2.0安全性(2)--用户个性化设置(1)--转载来自车老师
在Membership表中可以存储一些用户的基本信息,但有的时候,我们需要记录的用户信息远远不止Membership表中提供的这些,如QQ.MSN.家庭住址.联系电话等等.那如何把这些用户信息记录到数 ...
- asp.net2.0安全性(2)--用户个性化设置(2)--转载来自车老师
上一篇我们用Profile.age等方式可以读取用户的年龄和其它的信息,但有的时候我们要查询显示所有用户的信息,但asp.net没有提供查询所有用户信息的功能,我们只能对现有的用户逐一查询其Profi ...
- asp.net2.0安全性(3)--验证与授权--转载来自车老师
"验证"与"授权"是对网页资源安全管理的两道门. 验证(Authentication):检查用户是否是合法的用户.就像是网站大门口的保卫,服责验证使用的用户名和 ...
- asp.net2.0安全性(1)--用户角色篇(类)--转载来自车老师
Membership.MembershipUser和Roles类 用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的. Membership:用户成员账号管理, ...
- asp.net2.0安全性(1)--用户角色篇(起篇)--转载来自车老师
安全管理的解决方案在.net1.1中几乎为一片空白,对于应用程序的验证与授权大部分的工作是开发人员自己编写代码,或者是借助企业库等工具来实现,此可谓.net1.1中的一大缺憾.在.net2.0中微软为 ...
- Asp.Net2.0下C#环境 Login控件实现用户登录
原文:Asp.Net2.0下C#环境 Login控件实现用户登录 一.前台显示效果 二.前台代码 <asp:Login ID="Login1" run ...
- ASP.NET2.0组件控件开发视频 初体验
原文:ASP.NET2.0组件控件开发视频 初体验 ASP.NET2.0组件控件开发视频 初体验 录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku. ...
- ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性
原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开 ...
随机推荐
- 文件共享windows server 2008 服务器
1.远程连接到windows server2008 E盘右键共享 2.不能创建文件夹 右键E盘→共享→高级共享→权限→全部打勾即可. 3.ok,文件服务器
- 使用 xcode 8 构建版本 iTunes Connect 获取不到应用程序的状态
今天在提交 APP 审核版本的时候iTunes Connect 一直获取不到应用程序的状态,原因是,14号 xcode 8一出 直接升级使用 xcode 8 打包发布包,然后直接用 xcode8 构建 ...
- UILabel的简单用法和实际操作
1.UILabel **//设置文字 label.text = @"欢迎收看灌篮高手,我是安溪教练";**//设置文字颜色label.textColor = [UIColor ...
- javaweb学习总结二十四(servlet经常用到的对象)
一:ServletConfig对象 1:用来封装数据初始化参数,在服务器web.xml配置文件中可以使用<init-param>标签配置初始化参数. 2:实例演示 web.xml文件中配置 ...
- DWZ框架学习
转自(http://blog.sina.com.cn/s/blog_667ac0360102ec0q.html) 初始化配置文件 $(function(){ DWZ.init("dwz.fr ...
- 【java.math.BigInteger】常用函数
1. /* 返回此BigInteger的函数正负号. 此方法返回-1,0或1作为此BigInteger的值对应是负,零或正数. */ java.math.BigInteger.signum(BigIn ...
- An instance 0x172b8600 of class UITableView was deallocated while key value
从带有tableview并且使用Mj下拉刷新的视图调用popViewControllerAnimated的时候,控制台打印这个: An instance 0x15d7aa00 of class UIT ...
- 【转】IT管理人才必备的十大能力
作为IT技术人员,相信没有一个人愿意永远在底层编写程序或做简单的系统维护.经过一段时间的技术和经验的积累,很多人都向往更高层的职位,但如何能成为一个专业的IT管理人才,并不是每一个人都清晰.明了. & ...
- BootStraps 布局
<div class="container"> //创建一个容器 <div class="row"> //创建行,每行总有12个格数 ...
- CSS3笔记
CSS/CSS3在线手册:http://www.css119.com/book/css/ CSS3实现水平垂直居中:http://bbs.html5cn.org/thread-87300-1-1. ...