1.js
/*!
* js 帮助工具,主要是对一些常用方法的第二次封装
* Create Date: 2015-06-16 22:57
*/
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds()//毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var lan = {
languageFileFolder: "languages",
languageFile: "lan",
languageCode: "en-us",
defaultControllerName: "Home"
}
$.ajax({
type: "post",
contentType: "application/json",
url: "/WS/WSCommon.asmx/GetLanguageInfo",//这里通过设置url属性来获取xml
dataType: "json",
async: false,
//timeout: 1000, //设定超时
cache: false, //禁用缓存
success: function (data) {//这里是解析xml
data = $.parseJSON(data.d);
lan.languageCode = data.languageCode;
lan.languageFile = data.languageFile;
lan.languageFileFolder = data.languageFileFolder;
lan.defaultControllerName = data.defaultControllerName;
},
error: function (x, e) {
alert(x.responseText);
}
});
var jsHelper = {};
jsHelper.getControllerName = function () {
var controllerName = window.location.pathname.substr(1);
if (controllerName == "")
return defualtControllerName;
else if (controllerName.indexOf("/") != -1) {
controllerName = controllerName.substr(0, controllerName.indexOf("/"));
return controllerName;
}
return controllerName;
}
var itemTextArray = new Array();
var currentResourceFileName = undefined;
//jsHelper.getLanguageItemText = function (itemCode, resourceFileFlag) {
// var lanFile = undefined;
// var itemValue = "";
// var currentResourceFileName = undefined;
// if (resourceFileFlag == undefined) {
// lanFile = lan.languageFile;
// lanFile += "." + lan.languageCode;
// lanFile += ".xml";
// lanFile = "/" + lan.languageFileFolder + "/" + lanFile
// }
// else {
// currentResourceFileName = jsHelper.getControllerName();
// lanFile = currentResourceFileName + "Controller." + lan.languageCode + ".xml";
// lanFile = "/" + lan.languageFileFolder + "/" + lanFile;
// }
// if (currentResourceFileName != lanFile) {
// currentResourceFileName = lanFile;
// $.ajax({
// type: "get",
// url: lanFile,//这里通过设置url属性来获取xml
// dataType: "xml",
// async: false,
// //timeout: 1000, //设定超时
// cache: false, //禁用缓存
// success: function (xml) {//这里是解析xml
// $(xml).find("item").each(function (index, item) {
// var code = $(this).attr("code");
// if (code != undefined) {
// var itemText = $(this).text();
// itemTextArray[index] = { "code": code, "text": itemText };
// if (code == itemCode) {
// itemValue = itemText;
// }
// }
// });
// },
// error: function (x, e) {
// alert(x.responseText);
// }
// });
// }
// $.each(itemTextArray, function (index, item) {
// if (item.code == itemCode) {
// itemValue = item.text;
// return false;
// }
// });
// return itemValue;
//};
jsHelper.getLanguageItemText = function (itemCode, resourceFile) {
var lanFile = undefined;
var itemValue = itemCode;
if (resourceFile == undefined) {
lanFile = lan.languageFile;
lanFile += "." + lan.languageCode;
lanFile += ".xml";
lanFile = "/" + lan.languageFileFolder + "/" + lanFile
}
else {
if (resourceFile.indexOf(".") == -1)
lanFile = resourceFile
else
lanFile = resourceFile.substring(0, resourceFile.lastIndexOf("."));
lanFile = lanFile + "." + lan.languageCode + ".xml";
lanFile = "/" + lan.languageFileFolder + "/" + lanFile;
}
if (currentResourceFileName != lanFile) {
itemTextArray.length = 0;
currentResourceFileName = lanFile;
$.ajax({
type: "get",
url: lanFile,//这里通过设置url属性来获取xml
dataType: "xml",
async: false,
//timeout: 1000, //设定超时
cache: false, //禁用缓存
success: function (xml) {//这里是解析xml
$(xml).find("item").each(function (index, item) {
var code = $(this).attr("code");
if (code != undefined) {
var itemText = $(this).text();
itemTextArray[index] = { "code": code, "text": itemText };
}
});
},
error: function (x, e) {
itemTextArray.length = 0;
if (x.status != "404")
alert(x.responseText);
}
});
}
$.each(itemTextArray, function (index, item) {
if (item.code == itemCode) {
itemValue = item.text;
return false;
}
});
return itemValue;
};
2.WSCommon
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]
public class WSCommon : System.Web.Services.WebService
{
[WebMethod(EnableSession =true)]
public void SetLanguageCode(string languageCode)
{
Session["languageCode"] = languageCode;
}
[WebMethod(EnableSession =true)]
public string GetLanguageInfo()
{
var languageFile = ConfigurationManager.AppSettings["languageFile"];
if (string.IsNullOrEmpty(languageFile) == true)
languageFile = "lan.xml";
languageFile = Path.GetFileNameWithoutExtension(languageFile);
return "{" + string.Format("\"languageFileFolder\":\"{0}\",\"languageCode\":\"{1}\",\"languageFile\":\"{2}\",\"defaultControllerName\":\"{3}\"", ConfigurationManager.AppSettings["languageFolder"], Session["languageCode"]?? ConfigurationManager.AppSettings["languageCode"], languageFile, ConfigurationManager.AppSettings["defaultControllerName"]) + "}";
}
[WebMethod(EnableSession = true)]
public List<SYS_DICT> GetSystemLanguages()
{
try
{
return IOC.Resolve<ISYS_DICTService>().GetMany(lan => lan.dtype == "Language").OrderBy(lan => lan.dictSeq).ToList();
}
catch {
return null;
}
}
}
3.js中使用
$.alert("mC003:" + jsHelper.getLanguageItemText("mC003"));