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);
}
}
{
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的删除语句就可以了。
————————————————————————
当然了第一种方法才是最好的方法!!!