ASP.NET中JavaScript的中英文(多语言)实现方案(二)

ASP.NET中JavaScript的中英文(多语言)实现方案中简单的介绍了js实现多语言的一种方案。下面将要讲述另外一种方法,尽管很相似,但是有些地方也是需要细细琢磨的,不说了,先看看。

在Lang.html中代码如下:因为本文中用到了jquery所以要先加载jquery的js文件。另外再分别加载所需要的两个自定义js

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title></title>
    <script src="/common/jquery-1.8.2.min.js" type="text/javascript"> </script>
    <script src="/common/common.js"></script>
    <script src="/common/CommonGlobalVariables.js"></script>
</head>
<body>
    <a href="javascript: SetEn()" >En</a>
    <a href="javascript: SetZh()" >Cn</a>
    <a href="javascript:commonAlert()">common</a>
    <a href="javascript:globalAlert()">Global</a>
</body>
</html>

本文中的js多语言实现了两种格式的。

第一种:

先来看common.js

//动态加载js
function loadJavascriptInHead(file) {
    var head = $(‘head‘);
    $("<script></script>").attr({ src: file, type: ‘text/javascript‘, id: ‘loadscript‘ }).appendTo(head);
}

//comm init language
function InitPublicLanguageculture() {

    if (document.cookie.indexOf("en")>0) {
        loadJavascriptInHead(‘/common/en-us.js‘);
        loadJavascriptInHead(‘/common/enGlobalVariables.js‘);
    }
    else{
        loadJavascriptInHead("/common/zh-cn.js");
        loadJavascriptInHead(‘/common/cnGlobalVariables.js‘);
    }
}

function commonAlert() {
    InitPublicLanguageculture();
    alert($.common.lang.User);
}

function SetEn() {
    document.cookie = "lg=en";
}
function SetZh() {
    document.cookie = "lg=cn";
}

common.js中定义了SetEn() SetZh()commonAlert()三个方法,分别对应了html文件中的超链接。

loadJavascriptInHead()是动态加载js的方法,具体详见JQuery动态加载js的三种方法

在初始化语言是通过选择动态加载中英文两种语言的js对应分别如下:

en-us.js代码:

(function ($) {
    if (typeof ($.common) == ‘undefined‘) {
        $.common = {};
    }
    $.common.lang = {
        User: "UserName",
        Pwd: "Password"
    }
})(jQuery);

zh-cn.js代码:

(function ($) {
    if (typeof ($.common) == ‘undefined‘) {
        $.common = {};
    }
    $.common.lang = {
        User: "用户名",
        Pwd:"密码"
    }
})(jQuery);

第二种:

CommonGlobalVariables.js代码如下:

var tipmsg = {
    errmsg: "错误",
    successmsg:"正确"
}
$.Tipmsg = tipmsg;

function globalAlert() {
    InitPublicLanguageculture();
    alert(tipmsg.errmsg);
}

这里面是设置了全局变量$.Tipmsg。然后通过修改全局变量的值就可以实现中英文切换。

加载的中英文js代码如下:

cnGlobalVariables.js代码:

$.Tipmsg.errmsg = "错误全局变量";
$.Tipmsg.successmsg = "正确全局变量";

enGlobalVariables.js代码:

$.Tipmsg.errmsg = "Error";
$.Tipmsg.successmsg = "Right";
时间: 2024-10-10 07:56:13

ASP.NET中JavaScript的中英文(多语言)实现方案(二)的相关文章

asp.net中javascript与后台c#交互

asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/73793.htm 这篇文章主要介绍了asp.net中javascript与后台c#交互,需要的朋友可以参考下 最近做一个小项目,网页中嵌入google maps,输入经纬度坐标可以定位地图位置并加注标记,点击标记获取远端摄像头数据并在视频窗口实现播放.在实际操作过程中,由于经纬度数据和视频登录的用

开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo(转)

热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI.它有完整的demo和强大AIP手册,使我在开发过程中得心 应手.以下是这篇博文Demo程序的演示效果: 解决方案如图1所示 图1 Domain:领域模型 Dao:持久层 Service:服务层 WebSite:表示层 Common:通用类 首页如图2所示,可以选择中文和English. 图2 英文首

[转]开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo

热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI.它有完整的demo和强大AIP手册,使我在开发过程中得心应手.以下是这篇博文Demo程序的演示效果: 解决方案如图1所示 图1 Domain:领域模型 Dao:持久层 Service:服务层 WebSite:表示层 Common:通用类 首页如图2所示,可以选择中文和English. 图2 英文首页

ASP.NET中JavaScript 调用后台代码

前序:在不需要右击页面或回发的情况下刷新页面,即JS调用后台代码: 方法一:调用隐藏服务端按钮的点击事件 1.在前端放一个隐藏按钮,将需要调用的后台代码写入OnClick事件中; 2.在前台写一个js函数,函数体为document.getElementById("<%=btnID.ClientID%>").click(); 3.在需要刷新的地方调用js函数,即可调用按钮OnClick事件: 4.此方法适用无返回值: 方法二:JS中直接用<%=MethodName()%

Asp.net中后台C#数组与前台Javascript数组交互

摘自:http://blog.csdn.net/a6225301/article/details/20003305 在上一篇<asp.net中javascript与后台c#交互>中实现了前端脚本javascript调用后台的数据库的数据.但新的问题又出现了,由于地图上有多个点,所以存放google maps的longitude和latitude有多个值,这就需要利用数组来存放经纬度,问题又演变成如何把后台的c#数组传给前端的js.由于刚接触asp.net和前端这块,基本是零基础,所以这个问题困

ASP.NET 中整合JavaScript的技巧

尽管ASP.NET提供了一个强壮的平台,但是开发者也不应忽视诸如JavaScript这样成熟的技术.在这篇文章中,Tony Patton将向您解释在Web开发中如何将JavaScript与ASP.NET控件进行整合. 尽管Web开发平台提供了灵活性和众多功能,您经常希望或需要依赖现有的技术来完成一项必须的任务,一个好的例子就是ASP.NET,它提供了 一个强大的开发平台,但是同时也不应忽略像JavaScript这样成熟的技术,在这篇文章中,我将向您讲解如何将JavaScript代码联结到 ASP

ASP.NET中前台javascript与后台代码调用

ASP.NET中前台javascript与背景代码调用 1如安正在JavaScript访问C#函数? 2.如安正在JavaScript访问C#变量? 3.如安正在C#中访问JavaScript的已经有变量? 4.如安正在C#中访问JavaScript函数? 标题1谜底以下: javaScript函数中实施C#代码中的函数: 方法一:一.起首成立一个按钮,正在背景将调用或许搞定的内容写入button_click中; 二.正在前台写一个js函数,内容为document.getElementById(

ASP.NET中使用JavaScript实现图片自动水平滚动效果

参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ImageScroll.aspx.cs" Inherits="SlideDemo.ImageScroll" %> <!DOCTYPE html><html xmlns="

Asp.net中前台javascript与后台C#交互

方法一:使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数. 方法二:后台方法声明为public或者protected,然后前台使用js脚本进行调用. 以下是代码片段: .cs public string Str() { return "javaScript函数中执行后台C#方法.."; } .aspx <script type="text/javascript"> var a =