摘要
本期共有7篇文章:
- UpdatePanel和自訂控制項中的用戶端指令碼
- MSBuild, NAnt, NUnit, MSTest所帶來的不爽
- AJAX Futures December CTP:從WebService或PageMethod中返回DataSet、DataTable以及DataRow
- ASP.NET 2.0中的輸出緩衝
- 使用Facade設計模式管理ASP.NET中的會話變數
- 一個可行的CAPTCHA替代方案
- Web組件——如何建立選項卡樣式的面板
[1] UpdatePanels and ClientScript in custom Controls(UpdatePanel和自訂控制項中的用戶端指令碼)
ASP.NET AJAX UpdatePanel中包含了一個自訂控制項,而恰好該自訂控制項還需要產生一些用戶端指令碼,那麼你就會驚奇地發現這些指令碼不見了……本文就將探討這個問題的起因,並給出相應的結果。Rick Strahl之作,大家應該有信心。
[2] MSBuild, NAnt, NUnit, MSTest, and frustration(MSBuild, NAnt, NUnit, MSTest所帶來的不爽)
MSBuild, NAnt, NUnit, MSTest……相信列舉出這些名字,你就能夠猜到為什麼作者會覺得不爽了。到底該用哪個?到底怎麼用?他們之間怎麼協作?這些都是問題……本文的作者也遇到了這樣的問題,他將思考過程和解決方案寫了出來,雖然和ASP.NET沒什麼關係,不過仍舊值得一讀。
[3] AJAX Futures December CTP: Returning DataSets, DataTables, and DataRows from a WebService or PageMethod(AJAX Futures December CTP:從WebService或PageMethod中返回DataSet、DataTable以及DataRow)
CTP中好好的解決方案已經擺在那裡了,誰知道到了Beta版本,ASP.NET AJAX居然將從WebService或PageMethod中返回DataSet、DataTable以及DataRow刪除了?!(當然,還留了一小部分內容,滿是Bug,為此我還特意給出瞭解決方案:《現存問題以及解決方案:在ASP.NET AJAX用戶端得到伺服器端的DataTable》和《現存問題以及解決方案:在ASP.NET AJAX中從用戶端向伺服器端傳送DataTable》)
但令人欣喜的是,在12月份的CTP中,他們又回來了。這篇文章就介紹了如何使用最新版本的ASP.NET AJAX從WebService或PageMethod中返回DataSet、DataTable以及DataRow。再也不用我的哪種方法了!
[4] Output Caching in ASP.NET 2.0 (ASP.NET 2.0中的輸出緩衝)
其實沒啥好說的,一篇基礎文章而已。關於輸出緩衝的使用,也如同葵花寶典一樣,搞不好了就抱恨餘生……如果你還不熟悉或者沒聽過這個“葵花寶典”,可以看看這篇文章。當然,看完了這篇文章也不代表你就可以開始練習“葵花寶典”了。若不聽從而盲目為之,後果我可概不負責啊……
[5] Manage ASP.NET Session variables using the Facade design pattern(使用Facade設計模式管理ASP.NET中的會話變數)
ASP.NET中的Session概念很簡單,使用起來也很方便,簡單方便的東西就容易濫用,這也是不爭的事實。也正是因為使用上的簡單,偶爾不小心犯的錯誤也很難被發現——根本想不到錯誤會在這裡。
這篇文章就將這個Session的概念和使用方法用Facade模式封裝了一下,也是設計模式的一個執行個體應用。看看封裝後使用Session的方法吧:
// Save a session variable
MyApplicationSession.StartDate = DateTime.Today.AddDays(-1);
// Read a session variable
DateTime startDate = MyApplicationSession.StartDate;
[6] Toward Viable CAPTCHA Alternatives(一個可行的CAPTCHA替代方案)
CAPTCHA即Completely Automated Public Turing Test to Tell Computers and Humans Apart(全自動的公開圖靈測試),其目的是讓電腦產生區分電腦和人類的程式演算法,這種程式必須能夠產生並評價出人類能很容易通過但電腦卻難以通過的測試。目前常見的驗證圖片等都屬於CAPTCHA。(掃一下盲,這一段來自我將出版的《ASP.NET AJAX程式設計 第I卷》,順便作個廣告了-_-b)
作者在這篇文章中給出了一種還算不錯的CAPTCHA 替代方案,有興趣的朋友可以去看看。但是ASP.NET AJAX Control Toolkit提供的NoBot控制項已經足夠強大了,若是我選擇,還是會直接用NoBot。
[7] Web Parts - How to create a tabbed view(Web組件——如何建立選項卡樣式的面板)
Web頁面上的選項卡效果比較Cool,我還在想為什麼ASP.NET AJAX Control Toolkit中沒有一個的時候,已經有人用Web組件加上一些用戶端指令碼作了出來。其實思路還是挺簡單的,看看就懂了,不過實現起來,還真挺麻煩。