Datalist删除一条记录的解决方法

datalist不同gridView 用Findcontrol方法行不通。

现提出两种解决方案

第一个

设置DataList的DataKeyField=主键,Button的CommandName="Delete"
在DataList的ItemCommand的事件里面:
ItemCommand:
if (e.CommandName=="Delete")
{
int ID =(int)DataList.DataKeys[e.Item.Itemindex]
//int就是要删的主键,删除这条纪录就行了
}

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int id = (int)DataList1.DataKeys[e.Item.ItemIndex];
Response.Write(id);
}
}
第二种方法

为删除的按钮绑定表中的一个字段.如ID,然后在给它一个链接,

并为它做个删除的链接,index.apx?del=<%# databinder.eval(container.dataitem,"id") %>

然后在index.aspx里代码,先判定是否有del的信息,然后就Request.QueryString("id")获取值,然后在进行SQL的删除语句就可以了。

————————————————————————

当然了第一种方法才是最好的方法!!!

你可能感兴趣的:(datalist)