ASP.NET 魔法學院

Home Contact Syndicate this Site (RSS 2.0) Syndicate this Site (Atom) Login
  106 Posts :: 1 Stories :: 133 Comments :: 2 Trackbacks

News

☆ 有些事現在不做,就一輩子都不會做了 ☆

每月文章

隨筆分類

影像集

好站連結


GridView 中 CommandField 的刪除鈕預設是沒有刪除提示訊息,一般的作法是在 GridView 的 RowDataBound 事件中找到 CommandField 中的按鈕來設定它的刪除訊息。這種方式雖然可以達到需求,不過每次使用時都要自己增加程式碼是個麻煩的動作。

為了開發上的方便,本文中示範如何擴展 CommandField 類別,透過屬性就可以輕易設定刪除提示訊息。首先繼承 CommandField 下來命名為 TBCommandField,新增一個 DeleteConfirmMessage 屬性,用來設定刪除提示訊息;覆寫 InitializeCell 方法,找到按鈕並設定刪除提示訊息。

 TBCommandField 類別完整的程式碼如下

 上述程式碼中,是由 SetButtonDeleteConfirm 方法來設定刪除鈕的提示訊息。CommandField 的 ButtonType 可以為 Button、Link、Image 三者之一,依設定不同分別產生的命令鈕為 Button、LinkButton 或 ImageButton 三者之一,不過它們都具有 IButtonControl 介面,所以直接判斷 IButtonControl.CommandName 是否為 "Delete" 來判斷是否為刪除鈕,若是的話就直接設定其 Attributes("onclick") 加入刪除提示訊息。

使用 TBCommandField 的方式與 CommandField 相同,然後直接 aspx 程式碼中設定其 DeleteConfirmMessage 屬性就可以加入刪除提示訊息。

posted on Friday, December 14, 2007 8:11 AM

Feedback

# re: 擴展 CommandField 類別 - 刪除提示訊息 3/3/2008 11:45 AM 水蛙
感謝大大提供此技術,但小弟再測試的過程中,發現了一些問題
小弟是將 TBCommandField 類別放在App_Code裡,但將下面這一行
<bee:TBCommandField ShowDeleteButton="True" ShowEditButton="True" DeleteConfirmMessage="確定刪除嗎?" ButtonType="Button" /> 加入的話,就會發生錯誤,變成『建立控制項時發生錯誤,GridView1』,能否請問大大,再詳細說明一下步驟,謝謝啦。

Post Feedback

Title:
Name:
Url:
驗證碼  
Comments: