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