zoukankan      html  css  js  c++  java
  • 让asp.net网站支持多语言,使用资源文件

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>asp.net多语言支持例子</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="ddlLanguage" runat="server" AutoPostBack="true"
                onselectedindexchanged="ddlLanguage_SelectedIndexChanged">
                <asp:ListItem Text="France" Value="fr"></asp:ListItem>
                <asp:ListItem Text="简体中文" Value="zh-cn"></asp:ListItem>
                <asp:ListItem Text="English" Value="en-us"></asp:ListItem>
            </asp:DropDownList>
            <asp:Label ID="lb1" runat="server" ></asp:Label>
        </div>
        </form>
    </body>
    </html>
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class test : PageBase  //继承
    {
        private string CultureLang = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                lb1.Text = Resources.Resource.LoginTitle;//后台代码中使用
                CultureLang = Session["PreferredCulture"].ToString().ToLower().Trim();
                switch (CultureLang)
                {
                    case "zh-cn":
                        this.ddlLanguage.Items.FindByText("简体中文").Selected = true;
                        Session["PreferredCulture"] = "zh-cn";
                        break;
                    case "en-us":
                        this.ddlLanguage.Items.FindByText("English").Selected = true;
                        Session["PreferredCulture"] = "en-us";
                        break;
                    case "fr":
                        this.ddlLanguage.Items.FindByText("France").Selected = true;
                        Session["PreferredCulture"] = "fr";
                        break;
                    default:
                        break;
                }
                //Response.Write(lb1.Text);
            }
        }
    
    
        protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e)
        {
            string value = ddlLanguage.SelectedItem.Value;
            Session["PreferredCulture"] = value;
            //重定向页面
            Response.Redirect(Request.Url.PathAndQuery);
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Threading;
    using System.Globalization;
    
    /// <summary>
    ///PageBase 的摘要说明
    /// </summary>
    public class PageBase : System.Web.UI.Page
    {
    	public PageBase()
    	{
    		//
    		//TODO: 在此处添加构造函数逻辑
    		//
    	}
    
        protected override void InitializeCulture()
        {
            // 用Session来存储语言信息
            if (Session["PreferredCulture"] == null) { Session["PreferredCulture"] = Request.UserLanguages[0]; }
            string UserCulture = Session["PreferredCulture"].ToString();
            if (UserCulture != "")
            {
                //根据Session的值重新绑定语言代码
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(UserCulture);
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
            }
        } 
    }
    创建“App_LocalResources”文件夹,建立三个资源文件,同样三个LoginTitle键,值不一样,对应各自语种

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

  • 相关阅读:
    tfrecord
    数据挖掘模型中的IV和WOE详解
    GBDT
    tensorflow笔记 :常用函数说明
    GAN
    牛客挑战赛 39 牛牛与序列 隔板法 容斥 dp
    4.19 省选模拟赛 跳跃 倍增 二分 线段树 建图
    牛客挑战赛39 牛牛的等差数列
    luogu P6224 [BJWC2014]数据 KD-tree 标准板子 重构+二维平面内最近最远距离查询
    牛客挑战赛39 D 牛牛的数学题 NTT FMT FWT
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234153.html
Copyright © 2011-2022 走看看