上一篇 整合 jQuery ContextMenu plugin 的右鍵選單控制項 的文章中,我們實作了 TBContextMenu 控制項;本文將以 TBContextMenu 控制項為例,為選單項目加入 Click 事件,並說明三種不同模式的 Click 動作。
[ASP.NET 控制項實作 Day30] 整合 jQuery ContextMenu plugin 的右鍵選單控制項
- 17118
- 0
- Server Control
- 2008-11-03
jQuery 是一個非常精簡強大的 JavaScript 函式庫,最近看到一個消息,未來微軟的 ASP.NET 也會全面支援 jQuery,詳見「 微軟將在 ASP.NET 相關產品中全面支援 jQuery」一文。筆者在之前就被 jQuery 簡短有力的程式語法所吸引,也把 jQuery 套用在伺服器控制項中,在本文將示範如何將 jQuery 的 ContextMenu plugin 封裝成伺服器控制項,使開發人員在使用上更為簡便。
[ASP.NET 控制項實作 Day29] 解決 DropDownList 成員 Value 值相同產生的問題
- 19768
- 0
- Server Control
- 2008-11-03
DropDownList 控制頁的成員清單中,若有 ListItem 的 Value 值是相同的情形時,會造成 DropDownList 無法取得正確的 SelectedIndex 屬性值、且無法正確引發 SelectedIndexChanged 事件的問題;今天剛好在網路上看到有人在詢問此問題,所以本文將說明這個問題的源由,並修改 DropDownList 控制項來解決這個問題。
[ASP.NET 控制項實作 Day28] 圖形驗證碼控制項
- 27957
- 0
- Server Control
- 2008-11-03
在網頁上常把圖形驗證碼應用在登入或貼文的頁面中,因為圖形驗證碼具有機器不易識別的特性,可以防止機器人程式惡意的存取網頁。在本文中將實作一個圖形驗證碼的伺服器控制項,透過簡單的屬性設定就可以輕易地在網頁上套用圖形驗證碼。
[ASP.NET 控制項實作 Day27] 控制項依 FormView CurrentMode 自行設定狀態
在 GridView+FormView 示範資料 新增/修改/刪除(進階篇:伺服器控制項) 一文中,示範了擴展 GridView 及 FormView 控制項,讓 GridView 可以透過屬性與 FormView 做關連來處理資料的「新增/修改/刪除」的動作。因為在該案例中,只使用 FormView 的 EditTemplate 同時處理「新增」及「修改」的動作,所以還需要自行撰寫部分程式碼去判斷控制項在新增或修改的啟用狀態,例如編號欄位在新增時為啟用,修改時就不啟用。在該文最後也提及其實有辨法讓這個案例達到零程式碼的目標,那就是讓控制項 (如 TextBox) 自行判斷所在的 FormView 的 CurrentMode,自行決定本身是否要「啟用/不啟用」、「顯示/隱藏」等狀態。本文以 TextBox 為例,說明如何修改 TextBox 讓它可以達到上述的需求。
[ASP.NET 控制項實作 Day26] 讓你的 GridView 與眾不同
- 29924
- 0
- Server Control
- 2008-11-03
在網路上可以找到相當多擴展 GridView 控制項功能的文章,在筆者的部落格中也有多篇提及擴展 GridView、DataControlField、BoundFIeld 功能的相關文章,在本文將這些關於擴展 GridView 控制項功能及欄位類別的相關文章做一整理簡介,若需要擴展 GridView 相關功能時可以做為參考。
[ASP.NET 控制項實作 Day25] 自訂 GridView 欄位 - 日期欄位
- 20911
- 0
- Server Control
- 2008-11-03
前二篇文章介紹了自訂 GridView 使用的下拉清單欄位 (TBDropDownField),對如何繼承 BoundField 類別下來改寫自訂欄位應該有進一步的了解。在 GridView 中輸入日期也常蠻常見的需求,在本文將再實作一個 GridView 使用的日期欄位,在欄位儲存格使用 TBDateEdit 控制項來編輯資料。
[ASP.NET 控制項實作 Day24] TBDropDownField 的 Items 屬性的資料繫結
- 15039
- 0
- Server Control
- 2008-11-04
上篇中我們實作了 GridView 的 TBDropDownField 欄位類別,不過眼尖的讀者不知有沒有發覺我們並處理 Items 屬性取得成員清單的動作,而是直接設定儲存格內含的 TBDropDownList 控制項相關屬性 (DataSourceID、DataTextField、DataValueField 屬性) 後,就由 TDropDownList 控制項自行處理 Items 屬性的資料繫結。當 GridView 的資料列是編輯狀態時,下拉清單會顯示出 Items 的文字內容;可是瀏覽狀態的資料列,卻是顯示欄位原始值,無法呈現 Items 的文字內容。本文將說明如何自行處理 TBDropDownField 的 Items 屬性的資料繫結動作,並使唯讀狀態的資料列也可以呈現 Items 的文字內容。
[ASP.NET 控制項實作 Day23] 自訂 GridVie 欄位類別 - 實作 TBDropDownField 欄位類別
- 18586
- 0
- Server Control
- 2008-11-04
GridView 是 ASP.NET 中一個相當常用的控制項,在 GridView 可加入 BoundField、CheckBoxField、CommandField、TemplateField ... 等不同型別的欄位,可是偏偏沒有提供在 GridView 中可呈現 DropDownList 的欄位型別;遇到這類需求時,一般的作法都是使用 TemplateField 來處理。雖然 TemplateField 具有相當好的設計彈性。可是在當 GridView 需要動態產生欄位的需求時,TemplateField 就相當麻煩,要寫一堆程式碼自行去處理資料繫結的動作。相互比較起來,BoundField、CheckBoxField ...等這類事先定義類型的欄位,在 GridView 要動態產生這些欄位就相當方便。如果我們可以把一些常用的 GridView 的欄位,都做成類似 BoundField 一樣,只要設定欄位的屬性就好,這樣使用上就會方便許多,所以在本文將以實作 DropDownList 欄位為例,讓大家了解如何去自訂 GridView 的欄位類別。
[ASP.NET 控制項實作 Day22] 讓 DropDownList 不再因項目清單不存在而造成錯誤
- 16077
- 0
- Server Control
- 2008-11-04
DropDownList 控制項常常會因為項目清單中不存在繫結的欄位,而發生以下的錯誤訊息。因為繫結資料的不完整或異常就會造成這樣的異常錯誤,在設計上實在是相當困擾,而且最麻煩的是這個錯誤在頁面的程式碼也無法使用 Try ... Catch 方式來略過錯誤。其實最簡單的方式就去直接去修改 DropDownList 控制項,讓 DropDownList 控制項繫結資料時,就算欄位值不存在清單項目中也不要釋出錯誤,本文就要說明如何繼承 DorpDownList 下來修改,來有效解決這個問題。
[ASP.NET 控制項實作 Day21] 實作控制項智慧標籤
- 7948
- 0
- Server Control
- 2008-11-04
控制項通常會把常用屬性或功能顯示在智慧標籤中,提供使用者更簡便的快速設定,例如下圖為 GridView 的智慧。若要製作控制項的智慧標籤,需實作控制項的 ActionList 加入智慧標籤中要顯示的項目,在本文將以 TDateEdit 控制項為例,進一步說明控制項的智慧標籤的實作方式。
[ASP.NET 控制項實作 Day20] 偵錯設計階段的程式碼
- 8217
- 0
- Server Control
- 2008-11-04
上篇我們介紹了自訂 Designer 來輸出控制項設計階段的 HTML 碼,可是若你去對針 Designer 的程式碼下中斷點,你會發覺根本無法偵錯。因為程式在執行階段時期,根本不會執行 Designer 相關類別,所以你在 Designer 類別中下的中斷點完全無效;當然不可能這樣寫程式碼而用感覺去偵錯,本文將告訴你如何去偵錯設計階段的程式碼。
[ASP.NET 控制項實作 Day17] 集合屬性包含不同型別的成員
- 5289
- 0
- Server Control
[ASP.NET 控制項實作 Day17] 集合屬性包含不同型別的成員
[ASP.NET 控制項實作 Day16] 繼承 WebControl 實作 Toolbar 控制項
- 9592
- 0
- Server Control
[ASP.NET 控制項實作 Day16] 繼承 WebControl 實作 Toolbar 控制項
[ASP.NET 控制項實作 Day10] Media Player 控制項
- 9222
- 0
- Server Control
[ASP.NET 控制項實作 Day10] Media Player 控制項
[ASP.NET 控制項實作 Day8] 控制項常用 Attribute 介紹(1)
- 7600
- 0
- Server Control
- 2008-10-11
[ASP.NET 控制項實作 Day8] 控制項常用 Attribute 介紹(1)
[ASP.NET 控制項實作 Day2] 建立第一個伺服器控制項
- 12455
- 0
- Server Control
- 2008-10-05
第一個伺服器控制項
[ASP.NET 控制項實作 Day1] 建立 ASP.NET 伺服器控制項專案
- 15269
- 0
- Server Control
- 2008-10-05
建立「ASP.NET 伺服器控制項」專案
擴展 Calendar 控制項 - DayCommand 事件
- 11153
- 0
- Server Control
- 2008-07-22
擴展 Calendar 控制項 - DayCommand 事件
讓 SqlDataSource 的 SelectCommand 屬性值不會消失
- 8494
- 0
- DataSource 控制項
- 2008-07-22
讓 SqlDataSource 的 SelectCommand 屬性值不會消失
- 1
- 2