您的位置:首页 > 编程语言 > ASP

Asp.net中多语言的实现

2009-07-09 16:23 288 查看
/Files/geniushuai/MultiLanguage.rar首先可以参考一下(有比较详细的归纳):
http://www.cnblogs.com/aierong/archive/2008/11/25/culture.html
这里我只说我的应用。

1.首先得先了解下面的知识:

了解一个名词:表达式语法

表达式语法格式:<%$ ... %>

它是ASP.NET2.0新增了一种声明性表达式语法,可在分析页之前将值替换到页中.

ASP.NET表达式是基于运行时计算的信息设置控件属性的一种声明性方式.

ASP.NET表达式主要应用在:连接字符串,应用程序设置,资源文件等地方.

ASP.NET 表达式的基本语法如下:

<%$ expressionPrefix: expressionValue %>

下面演示表达式语法在连接字符串和应用程序设置的应用:

a.表达式语法在连接字符串的应用

将存储在Web.config文件中的连接字符串的值设置为控件的连接字符串属性

<asp:SqlDataSource ID="SqlDataSource1" Runat="server"

SelectCommand="SELECT * FROM Employees"

ConnectionString="<%$ ConnectionStrings:NorthwindCon %>">

</asp:SqlDataSource>

<configuration>

<connectionStrings>

<add name="NorthwindCon"

connectionString="Data Source=yanfa0;Integrated Security=SSPI;Initial Ctalog=Northwind;"

providerName="System.Data.SqlClient" />

</connectionStrings>

</configuration>

b.表达式语法在应用程序设置的应用

使用表达式来引用在Web.config配置文件中定义的应用程序设置

<asp:Label ID="Label1" runat="server" Text="<%$ AppSettings:Txt %>"></asp:Label>

<appSettings>

<add key="Txt" value="Abc"/>

</appSettings>

其实表达式语法还有一个重要的应用,就是在资源文件中的使用,而资源文件正是我实现本地化的基础.

区域性的格式设置

区域性名称和标识符名称遵循RFC 1766标准,具体请查看msdn

请看下图,抓取的部分区域性图片:

using System;

2using System.Collections.Generic;

3using System.Linq;

4using System.Web;

5using System.Globalization;

6public class PageBase:System.Web.UI.Page

基本页面:

1using System;

2using System.Collections.Generic;

3using System.Linq;

4using System.Web;

5using System.Web.UI;

6using System.Web.UI.WebControls;

7using System.Globalization;

8public partial class _Default :PageBase

9
简单的一个多语言的例子

缺点:切换语言时需要load两次

建议:可以利用ajax请求修改完session值后在执行window.location=window.self.location;

如:

1 function PageRefresh(language)

2

function ChangeLanguage_Rslt(data)

else

}

代码下载:vs2008
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: