返回“ASP.NET 2.0數據教程目錄”
如我們在綜敘:在DataList裡編輯和刪除數據 裡看到的,為DataList添加 刪除功能可以通過以下完成:
在ItemTemplate裡添加Button, LinkButton, 或ImageButton
將Delete button的 CommandName 設為 “Delete”
在DeleteCommand事件處理裡調用合適的BLL delete方法 (然後重新綁定數據,來讓剛刪除的項不再在DataList裡顯示).
對用戶而言,上面的過程是點一個項的刪除按鈕,引起postback,然後刪 除選頂的項並從DataList裡移除它。當用戶點刪除按鈕時,還缺少確認的步驟。 如果一個用戶想點編輯按鈕,而不小心點到了刪除,那麼他原本想更新的記錄會 被刪除掉。為了防止這樣的情況發生,我們可以在刪除按鈕被點時添加一個客戶 端的確認。
JavaScrip confirm(string) function將輸入參數string作為 文本顯示在一個包含兩個按鈕- OK 和Cancel - 的對話框裡,見圖1。confirm (string) function根據被點的button返回一個Boolean 類型的值(如果點OK則返 回true,點Cancel則返回false)。
圖 1: 客戶端對話框
在提交form的過程中,如果客戶端事件處 理返回一個false,浏覽器將取消提交。使用這個特性,我們可以讓刪除按鈕的客 戶端onclick事件處理返回調用 confirm("Are you certain that you want to delete this product?")的值。如果用戶點取消,confirm(string)會返 回false,這樣提交就會被取消。沒有引起postback,因此被點刪除按鈕的 product也不會被刪除。如果用戶點了OK按鈕,postback會繼續記性,product會 被刪除。更多的信息參考Using JavaScript’s confirm() Method to Control Form Submission
本章我們將學習如果為DataList的刪除按鈕加 上這樣的客戶端確認。
注意:使用客戶端確認,比如本章討論的,需要假 設你的用戶使用支持js的浏覽器並且開啟了js支持。如果沒有的話,點刪除按鈕 會馬上引起postback(不顯示確認對話框)並刪除記錄。