现在的位置: 首页 > 综合 > 正文

GridView 删除按钮事件执行顺序

2012年04月21日 ⁄ 综合 ⁄ 共 1290字 ⁄ 字号 评论关闭
当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事件执行顺序的设计,先页面后后台,其实我想是先绑定页面的数据,然后触发事件,后台是触发事件引发的执行的方法

【上篇】
【下篇】

抱歉!评论已关闭.