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