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);
        }
    }

 

 

转载于:https://www.cnblogs.com/taotaonwsuaf/p/3544098.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值