資料存取與命令
- Command 執行預存程序:輸出為 DataSet 時,SelectCommand 的 Connection 必須先指定,否則永遠捕獲空結果
- VARCHAR 格式陷阱:儲存
x.x 格式資料時,注意方括號 [] 不能漏寫
- 存儲過程執行:
EXEC sp_name (params) 括號有無影響極大
Web Forms 與使用者控制項
- ASCX 事件不重寫:預設伺服器控制項事件未重寫,控制項內不會自動回傳
- Page.RegisterOnSubmitStatement:在 ASCX 中謹慎使用
- ViewState 膨脹:啟用時產生大量無用資料
- 事件順序:明確掌握
OnSubmit 與 OnClick 差異
- Page_Load 與 __doPostBack:注意兩者關係
- 動態載入 ASCX:區分
Page_Init 操作,勿濫用使用者控制項與自訂伺服器控制項
專案結構與編譯
- CS 檔案架構:需明確,最終整合定版本
- 第三方編輯器:最好使用框架整合
- 多檔編譯:後續來源檔勿加逗號
- JS 分離開發:
OnSubmit 中載入,因 Form 單一但 ASCX 眾多
錯誤處理與架構
- 控件 LoadControl:出現不識別 Page 屬性,需修改 Page 繼承
- 系統錯誤碼:全部標註錯誤碼,可於 XML 文件多語言共用
- 分頁預存程序:使用
SET ROWCOUNT 技巧
- Page_Load 修改全域變數:無效,勿嘗試
- 不確定程式碼:無閱讀必要
- 後台框架:樣式、JS、類獨立佈局,不依賴前台命名空間
- HttpContext 使用:
using (context = HttpContext.Current)
- 編譯輸出:精簡獨立,功能模組單獨編譯,但 UserControl 與普通類別分開(組件問題)
- XML 讀取:磁碟讀取慢,能快取則快取
- Reader 關閉:
FileReader、DataReader 一定要 Close()
總結
這 22 點涵蓋資料存取、Web Forms 生命週期、專案架構、效能優化、錯誤處理等核心領域,是從實戰中提煉的寶貴經驗。建議開發者建立個人檢查清單,在 Code Review 階段逐項驗證。