最佳解答者
Web系統可以根據設定決定要載入的resource檔嗎?? (非多國語系)

問題
-
我有兩套Web系統
這兩套系統提供的功能幾乎相同。但多少有一點差別。
我的文字相關呈現幾乎都放於Resource中
例如
<asp:Label ID="Label1" runat="server"
Text="<%$ Resources:Resource, String1 %>"></asp:Label>
用這樣的方式放在各aspx的頁面上。
我的問題是,因為同一個頁面上,這兩套系統要呈現的文字會有不同的狀況。
例如首頁,可能分別是「歡迎來到A公司網站」與「歡迎光臨~您來到B公司網站的首頁」類似這樣的狀況。
面對此狀況我只想到兩個方案
1.建立兩組resource檔案,在每一頁的cs檔上判斷系統別決定Label要讀取的檔案(量很大)
2.建立兩個相同的站台,但resource檔案不同。(目前採用)
但又如同我先前提到的,這兩個站台幾乎功能一樣。
所以導致我每次開發完A站台就要採用複製的方式將新的內容貼到B站台上。
這樣反覆誤置操作我又覺得有點奇怪....
故最理想的狀況是能否類似多國語系一樣
resource有兩組,程式碼可以判斷要讀取哪一組resource來呈現aspx的頁面。
解答
-
所以您到底是用兩個系統面對客戶,還是只用一個系統面對客戶啊?
這會影響到您到底是一個站台還是兩個站台。以這例子來說,您也大可以不需要用內建的resource檔,而自己建立一個xml or json檔案即可。
舉例來說,有兩份XML檔,分別存放A公司跟B公司的文字呈現內容,但schema都相同,就是個key-value pair集合。
在網站進入點(例如Global.asax),依據條件去決定採用哪一個設定檔,反序列化後,轉成dictionary後Cache起來。
網頁的程式碼就是一模一樣了,應該可以透過一個static的class/method去取得key對應的呈現資訊。
授人以魚,三餐之需;授人以漁,終生之用。
希望各位發問的朋友,得到的是如何釣魚的知識。之後也可以分享給別人,釣魚的知識。而不是肚子餓了,就上來討魚吃。
若您的程式碼有SQL injection的問題,在修改完畢之前,我不願意給您任何解答。因為解決了您的程式問題,造成更大的系統漏洞問題,還不如讓程式壞掉。
請參考:SQL injection簡介與解決方式
常用資源參考:
小弟的blog: In 91,wiki: my wiki- 已提議為解答 ChenBruceModerator 2012年10月19日 上午 02:48
- 已標示為解答 ChenBruceModerator 2012年10月22日 上午 03:28
-
如果您的程式碼是只有一套
差別的是在於提供給A公司時會有A公司的設定值,提供給B公司時會有B公司的設定值
那麼就建立一個XML格式的Config檔案,這個Config檔案內容值by各公司不同
然後在撰寫一個class去取得您所需要的值就好
軟體開發領域裡區區一個迷途工程師
MyBlog: http://www.dotblogs.com.tw/ian/
開發ASP.NET您要瞭解的基楚- 已提議為解答 ChenBruceModerator 2012年10月19日 上午 02:48
- 已標示為解答 ChenBruceModerator 2012年10月22日 上午 03:28
所有回覆
-
所以您到底是用兩個系統面對客戶,還是只用一個系統面對客戶啊?
這會影響到您到底是一個站台還是兩個站台。以這例子來說,您也大可以不需要用內建的resource檔,而自己建立一個xml or json檔案即可。
舉例來說,有兩份XML檔,分別存放A公司跟B公司的文字呈現內容,但schema都相同,就是個key-value pair集合。
在網站進入點(例如Global.asax),依據條件去決定採用哪一個設定檔,反序列化後,轉成dictionary後Cache起來。
網頁的程式碼就是一模一樣了,應該可以透過一個static的class/method去取得key對應的呈現資訊。
授人以魚,三餐之需;授人以漁,終生之用。
希望各位發問的朋友,得到的是如何釣魚的知識。之後也可以分享給別人,釣魚的知識。而不是肚子餓了,就上來討魚吃。
若您的程式碼有SQL injection的問題,在修改完畢之前,我不願意給您任何解答。因為解決了您的程式問題,造成更大的系統漏洞問題,還不如讓程式壞掉。
請參考:SQL injection簡介與解決方式
常用資源參考:
小弟的blog: In 91,wiki: my wiki- 已提議為解答 ChenBruceModerator 2012年10月19日 上午 02:48
- 已標示為解答 ChenBruceModerator 2012年10月22日 上午 03:28
-
如果您的程式碼是只有一套
差別的是在於提供給A公司時會有A公司的設定值,提供給B公司時會有B公司的設定值
那麼就建立一個XML格式的Config檔案,這個Config檔案內容值by各公司不同
然後在撰寫一個class去取得您所需要的值就好
軟體開發領域裡區區一個迷途工程師
MyBlog: http://www.dotblogs.com.tw/ian/
開發ASP.NET您要瞭解的基楚- 已提議為解答 ChenBruceModerator 2012年10月19日 上午 02:48
- 已標示為解答 ChenBruceModerator 2012年10月22日 上午 03:28