我用GridView里面绑定数据的时候有2个按钮(修改和删除)  我想在cs页面判断一下点击的是哪个按钮  如果点击的是修改就传个id到修改页面  如果是删除就执行delete!  这个怎么做?  注意:不使用RowEditing事件! 在线等高手解决  求代码解答!

解决方案 »

  1.   

    用 click 事件,确定到按钮的那个cell上,点击其他cell不触发
      

  2.   

    删除用CommandField 触发 GridView1_RowDeleting事件
    <asp:CommandField HeaderText="删除" ShowDeleteButton="True">
                        <HeaderStyle BorderWidth="1px" />
                        <ItemStyle BorderWidth="1px" Width="30px" />
                    </asp:CommandField>
    修改就参考如下(HyperLinkField 改为你的button按钮):
                    <asp:HyperLinkField HeaderText="修改"  
                        Target="_self" Text="更改" DataNavigateUrlFields="PRTNUM" 
                        DataNavigateUrlFormatString="UpdateZcPrT.aspx?PRTNUM={0}" >
                        <HeaderStyle BorderWidth="1px" />
                        <ItemStyle BorderWidth="1px" Width="30px" />
                    </asp:HyperLinkField>
      

  3.   

    在编辑模板的时候加入两个按钮,分别设定按钮的CommandName为modify和delete
    然后再GridView的Command事件里,根据CommandName进行判断
      

  4.   

    e.columns.index 具体的属性你自己看if(e.columns.index == 按钮那一列){
    if(delete){
    .......
    }else{
    .......
    }
    }
      

  5.   

    楼主,对于使用Button来说,还需要另外在客户端写代码触发修改引导时间。
    你就直接使用使用gridview的HyperLinkField就行了,主要是要自行修改DataNavigateUrlField属性和DataNavigateUrlFormatString属性就行了
      

  6.   

    设置属性啊  CommandArgument='<%# Eval("新闻id") %>'  用这个去绑定id  然后 CommandName="Del"  用这个设置按钮的动作名称  RowCommand(object sender, GridViewCommandEventArgs e)   这个事件中的e是个特殊的e 可以获取到前两个属性的值  直接在后台判断 然后分别执行就好了