DNN中的Localization系統

2021-09-20 17:36:01 字數 1271 閱讀 9838

一直對本地化挺有興趣。原來也做過類似的工作。但一直都覺得做得不好。所以很想看看

dnn是怎麼做得。在

dnn的文件中

/documents/dotnetnuke localization

看了一下。覺得這篇文章寫得很好。然後又特意去查了下

msdn

。結果查到了這篇文章

。可以看做是

.net

平台上web

本地化的乙個入門教程。

dnn利用了.net

中的rscx

檔案來存放各語言的內容。但

dnn獲取

rscx

中內容的方法並不像上面

msdn

中的文章那樣,利用

.net

提供的功能類來做。而是用了操作

xml文件的方法。從

localization

類的getstring

方法入手,一路轉跳。可以了解

dnn是如何操作的。但我不明白的是為什麼不還利用

.net

提供的功能類。在

dnn的文件中說是為了相容

asp.net2.0

而這樣設計。還沒有開發過

asp.net2.0

的專案。所以沒有體會到它的苦心。

在為控制項本地化上,

dnn為每個需要本地化的控制項新增了乙個

resourcekey

值。覺得這樣做比在後台類中為各控制項一一賦值更為靈活更易修改。也減輕了編碼的困難。另外,如果不方便新增

resourcekey

的控制項和其他一些地方的本地化,也可以呼叫

getstring

和其他api

。使得本地化變得更為簡單。呵呵。又學到一點。但是我一直找不到哪個類是完成這個賦值,望指點。

在dnn的

localization

系統中。可以看到乙個

fallback

的概念。大家可以看看

localization

類中的getresource方法以及它的注釋。覺得挺有意思的。

看完這個系統後。給我的體會是,做乙個系統時,不但要思考你過去做這個功能用過什麼樣的方法。還有特別注意你所用的平台對這個功能提供了什麼特定的介面。像localization你可以用文字,資料庫來存放語言資訊。但.net平台下,乙個首先應該考慮的是利用rscx檔案來存放。所以說,雖然平台之間可以觸類旁通,但如果想真正做得十分優秀,必須對你所用的平台做到十分的了解和專精。另外。在完成功能類後,應該更多考慮不同的ui。提供更為豐富和靈活的介面。

DNN中的Skinning系統

對skinning 早有耳聞。但很汗的是,dnn才是我接觸過的第乙個採用 skinning 的專案。所謂 skinning 就是實現功能和外觀的分離。但由於接觸 asp.net 不多。看了挺長時間 dnn了,現在才對整個 skinning 系統有了一定的理解。在 dnn中,所謂的 由兩部分組成。即 ...

DNN中的Skinning系統

對 skinning 早有耳聞。但很汗的是,dnn才是我接觸過的第乙個採用 skinning 的專案。所謂 skinning 就是實現功能和外觀的分離。但由於接觸 asp.net 不多。看了挺長時間 dnn了,現在才對整個 skinning 系統有了一定的理解。在dnn中,所謂的 由兩部分組成。即 ...

dnn中的使用者密碼設定

1.密碼是儲存在aspnet membership表裡邊,在這個表裡有三個相關字段,password,passwordformat,passswordsalt,只是在這儲存的都不是明文,而是用加密演算法加密後的金鑰。2.覺得dnn加密的方式應該是用sha1演算法,在web.config檔案裡邊你能找...