博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
當使用者按下GridView的刪除按鈕時,如何讓使用者確認刪除
阅读量:5057 次
发布时间:2019-06-12

本文共 1973 字,大约阅读时间需要 6 分钟。

在ASP.NET我們常用的GridView、DetailsView控制項,都有提供內建的刪除功能,讓Developer可以很容易的開發資料維護功能,不過內建的刪除功能在刪除前並不會提示使用者是否確認刪除,導致於按下刪除後資料就真正從資料庫被刪掉,看起來似乎不夠嚴謹,因此我們可透過JavaScript來做到確認刪除的功能,說明如下:

若您的刪除功能是以CommandField實作(如下列程式碼的第8-9列),由於CommandField沒有Button控制項的OnClientClick屬性,所以無法直接設定Javascript至刪除按鈕。

1:  
2:      DataSourceID="SqlDataSource1" onrowdatabound="GridView1_RowDataBound">
3:      
4:          
5:              SortExpression="RegionID" />
6:          
7:              SortExpression="RegionDescription" />
8:          
9:              ReadOnly="True" SortExpression="SN" />
10:          
11:      
12:  

 

 

 

解決方式是在GridView的RowDataBound事件中利用Cell的Controls屬性找到型別為LinkButton的控制項,再來設定OnClientClick屬性所要執行的JavaScript。

1:  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
2:  {
3:      if (e.Row.RowType == DataControlRowType.DataRow)
4:      {
5:          foreach (Control c in e.Row.Cells[3].Controls)
6:          {
7:              if (c is LinkButton)
8:              {
9:                  LinkButton lbDel = c as LinkButton;
10:                  lbDel.OnClientClick = @"if (confirm('Are you sure?') == false) return false;";
11:              }
12:          }
13:      }
14:  }

 

 

 

另外一個更簡單的方法就是先把刪除按鈕轉成TemplateField。

 

轉成TemplateField前刪除按鈕為CommandField(如下圖左),轉成TemplateField後如下圖右的樣子,在自行於LinkButton上加上OnClientClick所要執行的JavaScript即可。

 

程式碼如下:

1:  
2:      DataSourceID="SqlDataSource1" onrowdatabound="GridView1_RowDataBound">
3:      
4:          
5:              SortExpression="RegionID" />
6:          
7:              SortExpression="RegionDescription" />
8:          
9:              ReadOnly="True" SortExpression="SN" />
10:          
11:              
12:                  
13:                      CommandName="Delete" Text="刪除"
14:                      OnClientClick="if (confirm('Are you sure?') == false) return false;">
15:                      
16:              
17:          
18:      
19:  

转载于:https://www.cnblogs.com/weicleer/archive/2012/11/13/2767443.html

你可能感兴趣的文章
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>
Market entry case
查看>>
bzoj1230 开关灯 线段树
查看>>
LinearLayout
查看>>
学习python:day1
查看>>
css3动画属性
查看>>
第九次团队作业-测试报告与用户使用手册
查看>>
Equal Sides Of An Array
查看>>
CentOS笔记-用户和用户组管理
查看>>
Mongodb 基本命令
查看>>
Qt中QTableView中加入Check列实现
查看>>
“富豪相亲大会”究竟迷失了什么?
查看>>
控制文件的备份与恢复
查看>>