protected void Button2_Click(object sender, EventArgs e)
{
foreach (DataListItem dli in DataList1.Items)
{
CheckBox chk = dli.FindControl("a") as CheckBox;
if (chk.Checked)
{
Label objlabel = dli.FindControl("lb_id") as Label;
if (objlabel!=null)
{
int User_Id = Convert.ToInt16(objlabel.Text.Trim());
del_person(User_Id);
} }
}
BindDate();
} public SqlDataReader del_person(int User_id)
{
Database db = new Database();
SqlDataReader dr = null;
SqlParameter[] param = {
db.CreateInParam("@id", SqlDbType.Int, 0, User_id)
};
db.RunProc("del_per", param,out dr);
return dr;
}set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[del_per]
(
@id int
)
as
delete from person where ID=@id使用了datalist实现一行多条记录,但无法删除了,没有返回错误,点“删除”页面一闪而过,和刷新差不多,后台数据库也没有删除记录
{
foreach (DataListItem dli in DataList1.Items)
{
CheckBox chk = dli.FindControl("a") as CheckBox;
if (chk.Checked)
{
Label objlabel = dli.FindControl("lb_id") as Label;
if (objlabel!=null)
{
int User_Id = Convert.ToInt16(objlabel.Text.Trim());
del_person(User_Id);
} }
}
BindDate();
} public SqlDataReader del_person(int User_id)
{
Database db = new Database();
SqlDataReader dr = null;
SqlParameter[] param = {
db.CreateInParam("@id", SqlDbType.Int, 0, User_id)
};
db.RunProc("del_per", param,out dr);
return dr;
}set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[del_per]
(
@id int
)
as
delete from person where ID=@id使用了datalist实现一行多条记录,但无法删除了,没有返回错误,点“删除”页面一闪而过,和刷新差不多,后台数据库也没有删除记录
if (objlabel!=null) 这个是不是空的?
删除每次只能删除一条
我把绑定数据放入 !IsPostBack还是不行,我的是连数据库里的删除操作都没有执行
我的lb_id是绑定了数据库的ID的,所以它不是空的
不能删除多行记录我也想到,但是我只删除一记录也还是老样子。
不过我本人觉得是不是datalist的控件没有获取到呢?静待高手回答,不胜感激!