GridView 删除按钮事件执行顺序

原创 2007年10月09日 08:55:00
当GridView里面有一个删除按钮时,我用的是btndel 给他添加事件 btndel_Click 输出button run
再添加GridView1_RowCommand 方法 输出"RowCommand Run"
再添加GridView1_RowDeleting 方法 输出 "RowDeleting Run"
最后 执行页面,点击删除按钮 ,可见输出顺序是
button run
RowCommand Run
RowDeleting Run
所以我们在做删除的时候可以在用这三种事件完成,一般说来,第一种不太常用,也比较麻烦,
第二种 RowCommand里 添加e.CommandArgument 把ID传进去 可以进行删除处理
第三种RowDeleteing 可以直接删除,如果你没有用 数据源控件的话,不要用e.Keys,可以用GridView1.DataKeys[e.RowIndex].Value.ToString() 取得ID的值,后面就一样啦 ~_~


repeater 前后台代码执行顺序



在页面部分的代码是
<asp:Repeater ID ="repUndo" runat="server" OnItemDataBound="bindUndo" ><ItemTemplate>
...
<a href="todos_list.aspx"><%=newTR %>| <%#newTR %><%#ShowNum(Convert.ToInt64( Eval("ITEMID")))%>晚餐</a>
...
</ItemTemplate></asp:Repeater>


后台代码
protected int newTR = 0;
 
protected void bindUndo(object sender, RepeaterItemEventArgs e)
    
{
        
//newTR = (newTR + 1) % 20;
        newTR = newTR+200;
        
//DataBinder.Eval(e.Item.DataItem, "");
    }

    
绑定

运行结果:
402|0| 1晚餐 The first item
402|201| 202晚餐 正在提交完成... 请稍后 The first item

这说明了:
1.先执行了页面的 绑定方法 Eval() 方法 像在<%# ... %> 里面的东西
2.再执行后面绑定事件的方法 bindUndo 执行里面的方法.
3.页面统一输出变量: 就是指 <%=...%> 对变量里的东西进行输出

需要注意的是:
第一步是每绑定一条数据都会执行一次 第三步是页面执行完毕后输出

从上面的测试中,可以推断微软asp.net事件执行顺序的设计,先页面后后台,其实我想是先绑定页面的数据,然后触发事件,后台是触发事件引发的执行的方法
 

Direct3D极速入门宝典

写给CSDN C/C++基础类版的朋友       国庆终于结束了,荒凉的生活还将继续,尽管这个多雨的假日同样非常的荒凉。今晨出门时,一抬眼便是那阴沉的天空拢罩着这个可笑的城市,低的让我有点透不过气来...
  • fireseed
  • fireseed
  • 2004-05-28 11:00:00
  • 2019

Gridview添加自定义删除按钮

1、添加一个commandfild button 列,设置 CommandName="Delete"; 2、在GridView1_RowDeleting函数里添加删除代码 protected v...
  • u010598851
  • u010598851
  • 2013-05-28 16:27:31
  • 871

GridView 删除按钮事件执行顺序

当GridView里面有一个删除按钮时,我用的是btndel 给他添加事件 btndel_Click 输出button run再添加GridView1_RowCommand 方法 输出"RowComm...
  • yjmtv0817
  • yjmtv0817
  • 2007-10-09 08:55:00
  • 719

C# Rows.Remove() 和 DataRow.Delete() 的区别

Rows.Remove() 和 DataRow.Delete() 的区别及使用过程中注意的事项
  • shuaishifu
  • shuaishifu
  • 2015-06-01 16:56:00
  • 3639

DataTable中Rows.RemoveAt(i)和Rows(i).Delete的区别

//delete并不是真的删除 只是 将该row的rowstate变为 rowstate.delete(Rows.Count还是那么多) //remove是 真的从datatable中删除 比如: ...
  • xiangcns
  • xiangcns
  • 2015-04-20 00:45:04
  • 3908

DataRow的Delete,Remove,RemoveAt方法的用法和区别。

有两种方法可以删除DataTable中的DataRow: Delete方法和Remove方法和RemoveAt方法,其区别是: Delete方法实际上不是从DataTable中删除掉一行,而是将其...
  • txqqnet
  • txqqnet
  • 2013-10-18 08:58:03
  • 542

对DataTable执行delete和remove的区别

Delete的使用是 datatable.Rows[i].Delete(); Remove的使用是datatable.Rows.Remove(datatable.Rows[i]); 这两个的区别是 使...
  • hanchaoqi
  • hanchaoqi
  • 2013-04-28 22:04:16
  • 1213

DataRow使用Delete和用Remove方法效果

事故现场: ds.Tables["Role"].Rows.RemoveAt(i),为什么数据适配器不能更新,同时不报错 ds.Tables[ "Role "].Rows.Rem...
  • hi_dzj
  • hi_dzj
  • 2012-02-15 21:18:34
  • 3733

DataRow.Delete()与Rows.Remove()

我在处理dataset数据时,发现一下两个函数的区别.现在还没有搞太清除,只是实现了我要的功能.dataSet1.Tables["Result"].Rows.Remove(dr);DataRow.De...
  • imaowangluyan
  • imaowangluyan
  • 2007-10-18 18:31:00
  • 780

15-Oracle入门之delete删除操作

综述 使用 DELETE 语句从表中删除数据。 基本套路 DELETE [FROM] table [WHERE condition]; 基本应用 使用WHERE 子句指定删除的记录。 ...
  • lzjsqn
  • lzjsqn
  • 2017-01-08 12:43:35
  • 3421
收藏助手
不良信息举报
您举报文章:GridView 删除按钮事件执行顺序
举报原因:
原因补充:

(最多只允许输入30个字)