zoukankan      html  css  js  c++  java
  • GridView 删除按钮事件执行顺序

    当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事件执行顺序的设计,先页面后后台,其实我想是先绑定页面的数据,然后触发事件,后台是触发事件引发的执行的方法
  • 相关阅读:
    node的function函数和路由代码的小例子
    关于node回调函数中同步和异步操作的理解
    node初学
    CTF知识点总结(二)
    知识图谱
    论文笔记 无监督与混合IDS
    CTF知识点总结(一)
    论文笔记 网络安全图谱以及溯源算法
    攻防世界 wtf.sh-150
    攻防世界 Web_php_wrong_nginx_config
  • 原文地址:https://www.cnblogs.com/lxf120/p/680783.html
Copyright © 2011-2022 走看看