zoukankan      html  css  js  c++  java
  • 网站中英文切换

    在程序启动时把en与cn的资源文件都加载进来,然后页面加载时候根据session/cookie选择加载en或者cn资源文件。

    1.程序启动加载资源文件(en.xml,cn.xml)

    protected void Application_Start(object sender, EventArgs e)
      {
        Local.LoadLanguage(GetAppSettings("Language_Name").Split(new char[] { '|' })[0].Split(new char[] { ',' }), GetAppSettings("Language_XML"));          
      }
    把xml内容加载到
    Dictionary[lang][key];以备后面调用做准备
     

    2.页面选择语言样式

    <select class="language" name="language" id="language" onchange="change(this.options[this.options.selectedIndex].value);">
                        <option value="cn"><%=Local.Get("language") %></option>
                        <option value="en"><%=Local.Get("language_en") %></option>
                        <option value="cn"><%=Local.Get("language_cn") %></option>
                    </select>

    3.js代码(通过ajax无刷新发送请求)

    <script type="text/javascript">
            function change(value) {
    
                var str = value;
                ajaxHelp.ProcessGet("/language.aspx?flag=" + str, function (data) {
                    window.location.reload();
                });
            }
        </script>

    4.接收请求,处理逻辑(cookie)

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    string flag = Request.GetQueryString("flag");
                    if (flag=="cn")
                    {
                        WriteCookie1("local", "cn", 60);
                    }
                    else if(flag=="en")
                    {
                        WriteCookie1("local", "en", 60);
                    }
                    Response.End();
                }
            }

    5.页面刷新时候调用的过程

    <option value="cn"><%=Local.Get("language") %></option>
    local.cs
    
    public static string Get(string key) => 
                Get(GetLang(), key);
    
    public static string GetLang()
            {
                string str = "";
                if (GetCookie("local") != null)
                {
                    str = GetCookie("local").Value;
                }
    
                return str;
            }
    public static string Get(string lang, string key) => 
                Dictionary[lang][key];
  • 相关阅读:
    集合类提供的的方法
    集合相关常识
    day12练习题
    Django(重点)
    cookie和session
    admin的配置
    Django安装和配置环境变量
    django ORM创建数据库方法
    前端学习之jquery
    数据库基础
  • 原文地址:https://www.cnblogs.com/uftwkb24/p/9242398.html
Copyright © 2011-2022 走看看