当前位置:编程学习 > C#/ASP.NET >>

GridView1删除的问题

这是前台的代码
<asp:GridView ID="GridView1" runat="server" onrowcommand="GridView1_RowCommand" 
             >
        <Columns>
        <asp:TemplateField HeaderText="删除1">
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server"  
                    CommandArgument='<%# Eval("0") %>' CommandName="del" CausesValidation="False"> 删除1</asp:LinkButton>
                    
                </ItemTemplate>
                 </asp:TemplateField>
</Columns>


这是cs代码
 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "del")
        {
            int i = Convert.ToInt32(e.CommandArgument);
            this.GridView1.DeleteRow(i);
            //GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Visible = false;
            //GridView1.DataBind();
        }
    }


为什么我点击删除会提示GridView“GridView1”激发了未处理的事件“RowDeleting”。
求大神解救 --------------------编程问答-------------------- 没有设定 是否可以删除 属性 --------------------编程问答-------------------- 只要你调用 this.GridView1.DeleteRow(i); 就会触发这个事件。

要删除行,应该从你的数据源中删除记录,然后重新绑定到 GridView1 上。而不是你的写法。

调用其 DeleteRow(i) 的目的是进行触发界面操作模拟,也就是开始模拟一下用户操作,而并保证能够删除数据行。 --------------------编程问答-------------------- 可以参考一个比较正规的asp.net2.0老教程:

http://guobaoguo.blog.163.com/blog/static/10916258200781323730263/
http://www.cnblogs.com/Reeezak/archive/2007/08/20/862056.html --------------------编程问答-------------------- 也就是开始模拟一下用户操作,而并保证能够删除数据行  -->  也就是开始模拟一下用户操作,而并不保证能够删除数据行 --------------------编程问答--------------------  this.GridView1.DeleteRow(i); 不是用这句

你这边要做的是去执行数据库的删除,然后重新绑定你的数据库表

具体的如何执行数据库的删除代码和如何绑定数据库相信你会写了

--------------------编程问答-------------------- cmd.executenonquery();
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,