关于本地化问题,ASP.NET可以本地化,HTML、JS如何本地化呢?以下是我的方式
HTML页面如htmlpage.html先改成.aspx
内容如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Culture="auto" meta:resourcekey="PageResource1" UICulture="auto" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:UserName %>"></asp:Label>
<br /><%=GetGlobalResourceObject("Resource", "HtmlUserName")%>
</div>
</form>
</body>
</html>
js本地化
如jsdemo.js先改成.aspx
<%@ Page Language="C#" AutoEventWireup="true" Culture="auto" UICulture="auto" %>
// JScript 文件
function Hello()
{
alert('<%=HttpContext.GetGlobalResourceObject("Resource", "HtmlHello")%>');
}
这样是可行的,但是总是感觉不妥,各位有什么好的建议?
--------------------编程问答-------------------- 使用资源文件! --------------------编程问答-------------------- 发错
html页面
--------------------编程问答--------------------
<%@ Page Language="C#" AutoEventWireup="true" Culture="auto" UICulture="auto" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<script type="text/javascript" language="javascript" src="JScript.aspx"></script>
</head>
<body>
<input id="Button1" type="button" value="<%=HttpContext.GetGlobalResourceObject("Resource", "HtmlHello")%>" onclick="Hello()" /><br />
<%=HttpContext.GetGlobalResourceObject("Resource", "HtmlHello")%>
</body>
</html>
大哥,用本地的、全局的都在用哦 --------------------编程问答-------------------- aspx页面的本地化可以采用 自定义控件 如:
<cc:label id="laText1" text="User name:" xpath="resource/user.login/userName" runat="server" />
这个Label控件通过读取xpath属性,自动读取XML文件中某个节点的文本值,并显示在页面。
当然,使用这种方法需要注意IO的性能
通常可以编写一个派生自 System.Web.UI.Page 的类,在这个类中对页面的所有Label控件做统一处理
之后再让所有需要本地化的页面从 这个类 派生
以消除IO带来的性能瓶颈
至于JS文件,没必要本地化,也不存在本地化的说法。可以将需要的字符传入到JS方法中,如
javascript:someJSMethod('<cc:label id="laText1" text="User name:" xpath="resource/user.login/userName" runat="server" />');
补充:.NET技术 , ASP.NET