(一)ASP.NET中JavaScript的中英文(多语言)实现方案
PS:
https://github.com/hzlzh/Front-End-Standards/wiki/HTML-CSS-JS-i18n
本文原始思路起源于此网址,请自行查看。
本文只是简单的一个多语言实现,在刷新时会体现。如果想要更加灵活的应用请自行研究,但是本文一定会对你有所帮助。
正文:
在有想法实现多语言之后,你的第一想法是什么?最简单的想法是一个HTML页面上两个按钮或者链接,然后点击中文就切换中文,点击英文就切换英文。本文的案例是使用两个文字链接,通过cookie实现中英文切换,使点击不同的链接在刷新页面时弹出对应语种的提示框。
所以,问题来了,你要先做什么。
如果没有任何思路,就先搭个框架吧,先写个HTML页面包含两个链接。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<a>中文</a>
<a>English</a>
</body>
</html>
刚刚说了,本文是通过cookie来实现中英文切换的,那么我们就是需要读取cookie然后确定是哪种语言,然后显示相应的提示框。读取cookie,该段代码写在body中,也就是说当cookie读取到chinese时就调用相应的js文件,此处js后面再讲。你只需要知道是对应于该种语言的js即可。
<script>
if (document.cookie.indexOf("chinese") > ) {
document.write("<script src='/js/cn.js'><\/script>");
}
else {
document.write("<script src='/js/en.js'><\/script>");
}
</script>
好了,框架搭好了,然后呢,现在运行只能看见两个链接,点击,毫无反应。那,我们就是想要他点击有反应,所以此时在链接中需要加入href或者onclick等属性,让他能够使用。
<a href="javascript:SetChinese()">中文</a>
<a href="javascript:SetEnglish()">English</a>
这两个方法是干什么的,是客户端的方法,可是方法的实现呢?所以我们要实现这两个方法。在body中添加以下代码:
<script>
function SetEnglish() {
document.cookie = "language=english";
}
function SetChinese() {
document.cookie = "language=chinese"
}
</script>
上述代码是指在点击English时,将文档的cookie设置为"language=english"。
这下HTML页面大致写完了,别忘了,上述我们并没有解释js文件。
英语js脚本en.js对应:
var $lang = {
"用户名": "Please Enter User Name",
"密码": "Please Enter Password"
};
中文js脚本cn.js对应:
var $lang = {
"用户名": "用户名",
"此处用户名不能为空": "此处用户名不能为空"
};
大致解释为,js中存放key-value键值对,可通过key查找对应的value,那么怎么使用呢。此时运行文件并不能打到效果。
我们必须在HTML文件中获取该key:
在body中方法设置的script底部添加以下代码:
var userName = $lang["用户名"];
window.alert(userName);
第一句是在html中获取key,第二句就是通过对话框的形式,验证你的代码是否正确。
本次点击在下次刷新时起作用。
(一)ASP.NET中JavaScript的中英文(多语言)实现方案的更多相关文章
- (二)ASP.NET中JavaScript的中英文(多语言)实现方案(二)
在ASP.NET中JavaScript的中英文(多语言)实现方案中简单的介绍了js实现多语言的一种方案.下面将要讲述另外一种方法,尽管很相似,但是有些地方也是需要细细琢磨的,不说了,先看看. 在Lan ...
- asp.net中javascript与后台c#交互
asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/ ...
- [转]开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...
- 开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo(转)
热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...
- Asp.net中后台C#数组与前台Javascript数组交互
摘自:http://blog.csdn.net/a6225301/article/details/20003305 在上一篇<asp.net中javascript与后台c#交互>中实现了前 ...
- 【转载】Asp.Net中使用基于jQuery的javascript前台模版引擎JTemplate
JTemplate是基于jQuery的开源的前端模版引擎,在Jtemplate模板中可以使用if判断.foreach循环.for循环等操作,使用Jtemplate模板优点在于ajax局部刷新界面时候不 ...
- ASP.NET 中整合JavaScript的技巧
尽管ASP.NET提供了一个强壮的平台,但是开发者也不应忽视诸如JavaScript这样成熟的技术.在这篇文章中,Tony Patton将向您解释在Web开发中如何将JavaScript与ASP.NE ...
- ASP.NET中使用JavaScript实现图片自动水平滚动效果
参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWi ...
- asp.net中的<%%> <%#%> <%=%>形式的详细用法 (转载)
博客分类: ASP.NET 一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支 ...
随机推荐
- DLatch by Verilog
//-----------------------------------------------------// Design Name : dlatch_reset// File Name : ...
- 要会的123个Python工具!
本文中列举了123个Python渗透测试工具,当然不仅于渗透~ Network 调试和逆向工程 模糊测试 Web 取证 Volatility: 从 RAM 中提取数据 Rekall: Google 开 ...
- 从ROS bag文件中提取图像
从ROS bag文件中提取图像 创建launch文件,如下: export.launch <launch> <node pkg="rosbag" type=&qu ...
- c#实现QQ群成员列表导出及邮件群发开篇
主题已迁移至:http://atiblogs.com/ ITO-神奇的程序员
- 分布式缓存系统 Memcached 主线程之main函数
前两节中对工作线程的工作流程做了较为详细的分析,现把其主要流程总结为下图: 接下来本节主要分析主线程相关的函数设计,主函数main的基本流程如下图所示: 对于主线程中的工作线程的初始化到启动所有的工作 ...
- CentOS下安装桌面环境
1. 使用 yum grouplist 查看可用的 group 2. 使用 yum groupinstall 进行安装.例如:yum groupinstall GNOME Desktop
- mysql 无意重启 [Note] /usr/sbin/mysqld: Normal shutdown
情况: 今早发现,昨天下午安装的4台mysql服务器,突然出现,由于在shell窗口 (root@localhost:mysql.sock) [(none)]> 190102 18:12:16 ...
- .Net 框架实现AOP(动态代理实现AOP,本文为翻译)
在上一节,我们将静态实现AOP,但是对于一个大型项目,要想为每个类,每个方法都去实现AOP ,进行日志记录和权限验证似乎是不可能的. 即使可能对于成百上千个类维护,也是很难维护.所以今天的主题就是如标 ...
- CentOS yum 安装RabbitMQ
最近在做机器学习的任务系统,任务模块使用了消息对联,比较快速的搭建方法: 1.安装erlang 下载rpm仓库:wget http://packages.erlang-solutions.com/er ...
- Metasploit自动化脚本Ezsploit
打开文件夹并赋予权限 ┌─[root@sch01ar]─[~] └──╼ #cd /sch01ar/ezsploit/ && ls ezsploit.sh README.md ┌─[r ...