close
今天在逛保哥的網站時,看到一個很方便的東西,可以讓整個專案裡,在TemplateField下的CommandName
設定成"delete"時,變自動加上confirm的javascript提醒,這樣可以省去許多的時間,讓程式碼變的更精簡~~
首先,你必須在你的網站專案加上 App_Browsers 目錄,並新增一個 ControlAdapters.browser 檔案 (檔名可以改,副檔名不能改),並輸入以下內容:
<browsers> <browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.WebControls.Button" adapterType="ButtonAdapter" /> <adapter controlType="System.Web.UI.WebControls.LinkButton" adapterType="ButtonAdapter" /> <adapter controlType="System.Web.UI.WebControls.ImageButton" adapterType="ButtonAdapter" /> </controlAdapters> </browser> </browsers>
這裡定義了 3 個不同的按鈕控制項配置器(Control Adapter),並且都指定到 ButtonAdapter 類別。
然後再到 App_Code 目錄下新增一個 ButtonAdapter.cs 類別檔,程式也很短,如下:
using System; using System.Web.UI; using System.Web.UI.WebControls; public class ButtonAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter { protected override void OnPreRender(EventArgs e)
{ IButtonControl btn = Control as IButtonControl; // mDelete 是我自訂的 CommandName 名稱,你也可以改成你自己的名稱 if (btn.CommandName == "Delete" || btn.CommandName == "mDelete") { Control.Attributes["onclick"] = "if(!confirm('你確定要刪除嗎?')) return false;"; } base.OnPreRender(e); } }
這樣就完成哩~~
全站熱搜
留言列表