【发布时间】:2014-07-29 08:26:57
【问题描述】:
我有 2 个中继器控件一个内一个,实际上我正在显示来自两个不同表的内容,我为每一行添加了复选框以使用单击按钮删除多行,但在选择多个复选框后删除查询仅删除一行一次。我只是在转发器控制下添加了 checkobx,我试图找出异常但堆栈没有显示它!以下是我的代码隐藏:
protected void btnDeleteNews_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in rptMainBlock.Items)
{
if ((item.FindControl("chkDel") as CheckBox).Checked)
{
string newsId = (item.FindControl("lblNewsId") as Label).Text;
cmd = new SqlCommand("DELETE FROM newsImageGal where newsId IN (SELECT newsId from news where newsId=@newsId);DELETE from news where newsId=@newsId", con);
con.Open();
cmd.Parameters.AddWithValue("@newsId", newsId);
cmd.ExecuteNonQuery();
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "ex", "alert('Selected News Deleted Successfully');", true);
con.Close();
Response.Redirect("deleteNews.aspx");
}
else
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "ex", "alert('No Data Deleted');", true);
}
}
}
请告诉我为什么会这样。
【问题讨论】: