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事件执行顺序的设计,先页面后后台,其实我想是先绑定页面的数据,然后触发事件,后台是触发事件引发的执行的方法
  • 相关阅读:
    为何总是在无聊的事中浪费生命
    Objective-C Polymorphism
    [MONGODB]: WHEN ARBITER REQUIRED FOR REPLICA SET
    巴菲特已四度战胜股灾 称A股长期仍将向上(2015年09月14日)
    visual studio 2012 has stopped working
    [2015-04-17] 2015年的股市比2008年还危险……
    Using HiveServer2
    有了Hadoop MapReduce, 为什么还要Spark?
    HIVE: Map Join Vs Common Join, and SMB
    ORA-12170:TNS:连接超时
  • 原文地址:https://www.cnblogs.com/lxf120/p/680783.html
Copyright © 2011-2022 走看看