讓 CheckBoxField 繫結非布林值(0 或 1)欄位

讓 CheckBoxField 繫結非布林值(0 或 1)欄位

有時 CheckBoxField 會需要繫結到非布林值的欄位,例如繫結的欄位值為 0 或 1;但是預設的 CheckBoxField 若繫結的欄位值為 0 或 1 時 (非布林值) 會發生錯誤。
一般的解法都是使用 TemplateField 來處理,不過本文使用另一種方式,改寫 CheckBoxField 類別,讓 CheckBoxField 有辨法繫結 0 或 1 的欄位值。

作法大致如下:

1.新增一個 Class,並繼承 CheckBoxField ,命名為 TBCheckBoxField。
2.覆寫 OnDataBindField 方法,處理繫結的欄位值。
3.在 *.aspx 檔案中,直接使用 TBCheckBoxField 來取代 CheckBoxField 即可。

TBCheckBoxField 的程式碼如下

ASP.NET 魔法學院