這是asp.net程序來讀取多語言版本Ini配置文件的開發(fā)示例,主要分為以下三個部分:
1、 Ini 配置文件
2、 讀取Ini配置文件的DLL
3、 Web頁面調用與內容顯示
4、 數(shù)據(jù)庫表T_User,如右圖
首先說明一下Ini 文件格式:如下圖其中[M_Index]節(jié)點和該節(jié)點下的所有的key和value,
其中[M_Index]節(jié)點的名稱是對應開發(fā)示例中的每個頁面所在的文件夾名稱的第一個字母加下劃線再加該頁面的名稱組合而成,如 M_Index 則表示Manager文件夾下面有一個Index.aspx 頁面,這樣就避免了不同文件夾里面有相同頁面而導致頁面內容顯示的問題,其中的key對應頁面變量value對應頁面顯示的內容。
上圖的解決方案中DLL文件夾中ConfigureManager.dll 就是讀取Ini 配置文件的一個封裝類,提供方法來獲取某個節(jié)點里面指定key的value。
新建項目
準備工作好了以后,下面就開始新建一個項目,打開VS 新建一個項目并命名為“LanVersionSwitch”。
1. 新建一個文件夾DLL 添加現(xiàn)有項把ConfigureManager.dll 添加進來,并添加引用該dll
2. 新建文件夾INI添加現(xiàn)有項把ConfigCn.ini和ConfigEn.ini 加進來
3. 在web.config 中添加配置信息如下圖:
4. 新建文件夾Common 并添加一個類LanSwitch.cs來調用dll方法進行再次封裝以供web頁面調用如下圖:
5. 在Common文件夾增加DataAccess.cs 用來訪問數(shù)據(jù)庫,判斷登錄用戶名和密碼以及修改語言版本。
6. 新建頁面Login.aspx如下圖:
7. 新建文件夾Manager 并添加web頁面Index.aspx 如下圖
8. 在Manager 文件夾里面新建PersonalSet.aspx 如下圖:
9. 在Login.aspx 頁面登錄按鈕進行登錄判斷,代碼如下圖
10. Index.cs 的代碼如下圖:
11. PersonalSet.cs 的代碼如下圖:
12. 從以上的代碼圖可以看到 SetValue() 主要是頁面調用LanSwitch.cs 的方法GetValue(string pagename,string key,string lan)來進行頁面內容顯示,
其中每個頁面的pagename 都是有當前頁面所在文件夾第一個字母加”_”再加當前頁面的名稱組成。
總結:到這里,已經可以生成并運行代碼看下運行結果,一個簡單的多語言版本切換程序就寫好了。