首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET DataGrid 刪除確認對話框:JavaScript 與伺服器端雙重實現

     編輯:關於ASP.NET

在 DataGrid 中實現刪除前確認,可採用客戶端 JavaScript 攔截或伺服器端動態註冊 onclick 屬性兩種方式。

方法一:全域 JavaScript 攔截 (適用超連結按鈕列)

<script language="JavaScript">
function delete_confirm(e) {
    if (event.srcElement.outerText == "刪除" || event.srcElement.name == "btnDictDel")
        event.returnValue = confirm("該操作將永久刪除,確定刪除?");
}
document.onclick = delete_confirm;
</script>

DataGrid 超連結按鈕列文本設為「刪除」即可自動生效。

方法二:伺服器端 DataBind 後動態註冊 (適用 ImageButton/LinkButton)

for (int i = 0; i < myCount; i++)
{
    ((ImageButton)dataGrid.Items[i].FindControl("del"))
        .Attributes.Add("onclick", "return confirm('該操作將永久刪除,確定刪除?');");
}

在 ItemDataBound 或 DataBound 事件中執行更穩妥。

比較與建議

維度方法一方法二
適用控件超連結按鈕列 (文本固定)任意按鈕控件 (ImageButton, LinkButton, Button)
維護性頁面內嵌腳本,耦合文本代碼後置,類型安全,支援多語系
效能全域 click 事件,微小開銷僅目標控件註冊,零額外監聽

推薦方法二:符合關注點分離、易於單元測試、支援區域化字串資源。現代專案建議改用 GridView + OnClientClick 或 jQuery/JS 模組化綁定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved