asp.net repeater实现批量删除实现效果代码:

批量删除涉及到的内容:
1、删除的SQL语句的拼凑,例如delete from sosuo8 where id in(1,2,5)
2、按下批量删除之后需要在客户端验证是否有选中项,和提示删除操作不可恢复。如果在服务端实现,那将非常的不友好,速度慢也是个问题。效果如下:

详细的代码:
aspx页面的body区域:

<body>
<form id="form1" runat="server">
<div> </div>
<asp:Repeater ID="rptNews" runat="server" onprerender="rptNews_PreRender">
<HeaderTemplate>
<table border="1">
<tr>
<th>选择</th>
<th>id</th>
<th>标题</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:CheckBox ID="cbx" runat="server" /></td>
<td><asp:Label id="lbl" Text='<%#Eval("id_news_") %>' runat="server" ></asp:Label></td>
<td><%#Eval("title_news_") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Button ID="btnDel" runat="server" οnclick="btnDel_Click" Text="批量删除" OnClientClick="return delIt()" />
</form>
</body>

head区域JS代码:

主要是按下“批量删除”之后要判断是否有选中了Repeater中的CheckBox,就是上面按钮中的

OnClientClick="return delIt()"

JavaS代码:

function delIt()
{
var cbxBool = 0;
for(var i = 0;i < cbxArray.length;i++){
var obj = document.getElementById(cbxArray[i]);
if(obj.checked == true){
cbxBool = 1;
break;
}
} if(cbxBool == 1){
var result = confirm("操作不可以恢复,确定当前操作吗?");
if(result){
return true;
}
}else{
alert("您还没有选中项");
return false;
}
return false; }

.cs的全部代码:

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
bind();
}
} //绑定数据
private void bind()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select top 10 id_news_,title_news_ from news_sosuo8_", conn);
da.Fill(ds);
this.rptNews.DataSource = ds; //绑定dataset
this.rptNews.DataBind();//开始绑定
conn.Close(); } protected void btnDel_Click(object sender, EventArgs e)
{
string delId = "";
//先遍历取得选中项
for (int i = 0; i < this.rptNews.Items.Count; i++)
{
CheckBox cbx = (CheckBox)rptNews.Items[i].FindControl("cbx");
Label lbl = (Label)rptNews.Items[i].FindControl("lbl");
if (cbx != null)
{
if (cbx.Checked)
{
delId += lbl.Text + ",";
}
}
}
//去掉最后一个,
delId = (delId + ")").Replace(",)", "");
Response.Write("删除的语句是:delete news_sosuo8_ where id_news_ in(" + delId + ")");
//自己写删除语句吧
bind();
} protected void rptNews_PreRender(object sender, EventArgs e)
{
prerepater(rptNews, this);
} //这个是通用方法用于在公用类库中调用
public static void prerepater(Repeater repeater, System.Web.UI.Page page)
{
ClientScriptManager cs = page.ClientScript;
for (int i = 0; i < repeater.Items.Count; i++)
{
CheckBox cbx = (CheckBox)repeater.Items[i].FindControl("cbx");
//将相应的服务器控件的ClientId注册到客户端JavaScript数组
cs.RegisterArrayDeclaration("cbxArray", String.Concat("'", cbx.ClientID, "'"));
}
}
}

转载于:https://www.cnblogs.com/fishtreeyu/archive/2011/01/24/1943296.html

Repeater实现批量删除相关推荐

  1. 用Python在Windows或Linux下批量删除文件夹中指定的文件

    情况说明:当在一个文件夹下面有好几十个或几百个文件需要删除,此时一一去挑选费时费力,特别是在Linux下面.因此,需要批量删除文件. 对训练样本(图像)和测试样本(图像)进行评估时候,需要查看是数据本 ...

  2. 删除空值_空白单元格行,如何快速批量删除?简单方法,效率飞升

    EXCEL进阶课堂 · 简单却不知道 系列文章持续推送!各位小伙伴,EXCEL的日常操作中,有许多功能使用频率很高,可是绝大多数人只使用到其最基本的功能,对于其背后的强大拓展功能知之甚少,更不说使用它 ...

  3. py-redis中的批量删除key方法

    py-redis中有个delete接口,既可以删除单个key,也可以批量删除key,后者的正确用法网上很少,我在实践中遇到该问题,特此记录一下. 网上的资料,大多都是这样的 r.delete('age ...

  4. 在Hibernate中处理批量更新和批量删除

    批量更新是指在一个事务中更新大批量数据,批量删除是指在一个事务中删除大批量数据.以下程序直接通过Hibernate API批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段: 如果CUST ...

  5. php redis删除所有key,redis中批量删除key的方法

    Redis是一个高性能的key-value数据库.redis中可以借助Linux的xargs指令来批量删除key,也可以使用flushdb和flushall命令删除所有key. 批量删除Key Red ...

  6. R语言使用caret包的findCorrelation函数批量删除相关性冗余特征、实现特征筛选(feature selection)、剔除高相关的变量

    R语言使用caret包的findCorrelation函数批量删除相关性冗余特征.实现特征筛选(feature selection).剔除高相关的变量 目录

  7. Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸

    Windows下批量删除旧文件.清除缓存文件.解救C盘.拒绝C盘爆炸 目录 Windows下批量删除旧文件.清除缓存文件.解救C盘.拒绝C盘爆炸 #删除旧文件1 #删除旧文件2 #删除旧文件1 rem ...

  8. Pandas批量删除dataframe列名中的后缀实战:使用rstrip函数批量删除列名中的后缀(suffix)、使用replace函数批量删除列名中的后缀(suffix)

    Pandas批量删除dataframe列名中的后缀实战:使用rstrip函数批量删除列名中的后缀(suffix).使用replace函数批量删除列名中的后缀(suffix) 目录

  9. Pandas批量删除dataframe列名中的前缀实战:使用lstrip函数批量删除列名中的前缀(prefix)、使用replace函数批量删除列名中的前缀(prefix)

    Pandas批量删除dataframe列名中的前缀实战:使用lstrip函数批量删除列名中的前缀(prefix).使用replace函数批量删除列名中的前缀(prefix) 目录

  10. 使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸

    使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件.清除缓存文件.解救C盘.拒绝C盘爆炸 目录

最新文章

  1. ACMNO.44 C语言-平均分 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
  2. R包stringr处理字符串
  3. 基于Continuous Conditional Neural Fields for Structured Regression的人脸特征点检测和头部姿态估计
  4. JVM - 应用JVM核心参数推荐设置
  5. 选择符合语义的html标签,最容易犯的HTML标签错误写法
  6. ssm使用全注解实现增删改查案例——DeptMapperImpl
  7. 简洁的个人导航主页API网站源码 随机背景图
  8. wamp+多版本mysql_WampServer下安装多个版本的PHP、mysql、apache图文教程,_PHP教程
  9. 每天定时自动优化MySQL数据库
  10. java的接口语法_JAVA接口的基本语法
  11. 一文弄懂特征缩放(归一化/正则化)
  12. BeX5企业快速开发平台-前端快速开发框架
  13. 校园 计算机网络设置路由器,GSWiFi路由器校园网怎么设置
  14. STM32CubeMX的使用教程
  15. “差不多先生”引发的悲剧
  16. omap3isp上层应用解析
  17. 获取汉字的首字母和拼音
  18. 命令行登陆北邮校园网
  19. 工具提取MP4中的音视频
  20. Postman高级应用(5):再也不用注释签名代码了——自动生成签名

热门文章

  1. 如何为你的CSDN博客加入百度统计
  2. CLRvia3读书笔记
  3. Python进行UDP编程
  4. 私服脚本制作教程......
  5. c#反编译生成DLL过程
  6. POI导出echarts统计报表到Excel
  7. offer来了(原理篇)学习笔记-第9章设计模式
  8. vue实现滑块拖拽校验
  9. 希尔伯特变换到底有什么用
  10. Java短信平台实战第一天