• 网站中英文切换


    在程序启动时把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];
  • 相关阅读:
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言|博客作业02
    作业02
    第一周作业
    学期总结
    第一次作业
  • 原文地址:https://www.cnblogs.com/uftwkb24/p/9242398.html
Copyright © 2020-2023  润新知