Asp.net 多語言介面的實現方法...

lilo_zhu發表於2009-06-04

Asp.net 多語言介面的實現方法

 

方法一

1.login.aspx 中新增一個選擇語言的DropList

Language<select id="Select_Language" runat=server style="width: 70px">

                                            <option selected="selected" value="zh-cn">ZH</option>

                                            <option value="en-us">EN</option>

                                        </select>

 

2.Login.aspx.cs 中的Login Button Click 事件內將Login 時選擇的語言存於cooick

 

Response.SetCookie(new HttpCookie("Language",Select_Language.Value));

 

3.Global.asax 中新增如下內容:

 

<%@ Application Language="C#" %>

 

<script runat="server">

 

    void Application_Start(object sender, EventArgs e)

    {

        // 在應用程式啟動時執行的程式碼

 

    }

   

    void Application_End(object sender, EventArgs e)

    {

        //  在應用程式關閉時執行的程式碼

 

    }

        

    void Application_Error(object sender, EventArgs e)

    {

        // 在出現未處理的錯誤時執行的程式碼

 

    }

 

    void Session_Start(object sender, EventArgs e)

    {

        // 在新會話啟動時執行的程式碼

 

    }

 

    void Session_End(object sender, EventArgs e)

    {

        // 在會話結束時執行的程式碼。

        // 注意: 只有在 Web.config 檔案中的 sessionstate 模式設定為

        // InProc 時,才會引發 Session_End 事件。如果會話模式設定為 StateServer

        // SQLServer,則不會引發該事件。

 

    }

    void Application_BeginRequest(Object sender, EventArgs e)

    {

        try

        {

            if (Request.Cookies["Language"] != null)

            {

                System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Request.Cookies["Language"].Value.ToString());

                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Request.Cookies["Language"].Value.ToString());

            }

        }

        catch (Exception)

        { }

    }

</script>

 

5.語言選擇的應用。

 

    <% string Lang=Request.Cookies["Language"].Value.ToString();%>

    <%if (Lang=="zh-cn") %>

    專案管理系統

    <% else %>

     Project Management System

 

 

 

方法二: 應用語言資料來實現多語言介面

     1.2.3 4 步同上。

 

5.語言頁歷的應用如下:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Culture="auto" meta:resourcekey="PageResource1" UICulture="auto" %>

 

<%@ Import Namespace="System.Globalization" %>

<!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>Untitled Page</title>

</head>

<body>

    <form id="form1" runat="server">

    <a href="changelang.aspx">切換語言</a>

        <dl>

            <dt>

                <asp:Literal ID="Literal1" runat="server" Text="<%$ Resources:lang,userinfo %>" /></dt>

            <dd>

                <asp:Label ID="lblName" runat="server" Text="<%$ Resources:lang,username %>" meta:resourcekey="lblNameResource1"></asp:Label>:<asp:TextBox

                    ID="txtName" runat="server" meta:resourcekey="txtNameResource1"></asp:TextBox></dd>

            <dd>

                <asp:Label ID="lblAge" runat="server" Text="<%$ Resources:lang,age %>" meta:resourcekey="lblAgeResource1"></asp:Label>:<asp:TextBox

                    ID="txtAge" runat="server" meta:resourcekey="txtAgeResource1"></asp:TextBox></dd>

            <dd>

                <asp:Label ID="lblGender" runat="server" Text="<%$ Resources:lang,gender %>" meta:resourcekey="lblGenderResource1"></asp:Label>:<asp:TextBox

                    ID="txtGender" runat="server" meta:resourcekey="txtGenderResource1"></asp:TextBox></dd>

        </dl>

    </form>

</body>

</html>

 

相關文章