gpt4 book ai didi

c# - 多个删除功能在转发器控件中只删除一行

转载 作者:行者123 更新时间:2023-11-30 16:58:39 25 4
gpt4 key购买 nike

我有 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);
}
}

}

请告诉我为什么会这样。

最佳答案

问题是您在循环中重定向:

foreach (RepeaterItem item in rptMainBlock.Items)
{
// delete ..
Response.Redirect("deleteNews.aspx"); // aborts this thread and ends the page's life-cycle
}

我假设您只想在最后执行一次:

foreach (RepeaterItem item in rptMainBlock.Items)
{
// delete ..
}
Response.Redirect("deleteNews.aspx");

但是,当您重定向到另一个页面时,alert('Selected News Deleted Successfully'); 也毫无意义。

关于c# - 多个删除功能在转发器控件中只删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25011088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com