代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.Net
】
repeater实现删除按钮
作者:
玉云
/ 发布于
2015/12/10
/
856
Repeater和DataGrid相比,repeater集成了较少的功能,高可定制化,repeater在客户端生成的html代码是非常干净的。但正是由于Repeater的简单,给我们带来了一定的开发难度。比如在datagrid中要删除一行数据,那么仅仅是一个linkbutton,然后在datagrid的delete command事件中编写删除代码,但是在repeater中,你几乎没有办法在那个事件中定位是哪行触发的删除事件。 方法一、通过URL来传递参数 后台代码 protected void btnDelete_Click(object sender, CommandEventArgs e) { int itemId = int.Parse(e.CommandName);//得到需要删除的记录的编号(Id) string delSql = "delete from xy_action where actionid=" +itemId;//生成Sql 语句。 //执行sql语句。} 前台代码 <asp:LinkButton id="btnDelete" CommandName='<%#DataBinder.Eval(Container, "ItemId") %>'OnCommand="btnDelete_Click"runat="server"> 删除 </asp:LinkButton> <ItemTemplate> <div> <%#"<a href=\"File.aspx?Action=Delete&Id="+DataBinder.Eval(Container.DataItem,"ItemId") +"\">删除</a>" %> </div> </ItemTemplate> 后台page_load()代码如下: if (Request.QueryString["Action"] == "Delete" && Request.QueryString["Delid"] != null) { string delId = int.Parse(Request.QueryString["Id"]); //得到需要删除的记录的编号(Id) string sql = "Delete From SomeTable Where ItemId=" + delId; //生成Sql 语句。 //执行sql语句。 } 方法二、 通过CommandName来传递编号 ////////////////////////////////////////////// Repeater控件用得不是很多,用起来显示数据非常方便,可以自定义显示的格式,很灵活。性能也要比GridView好多了,但是Repeater没有封装"修改" "删除"等功能,可是有时候却需要这种功能却不想去用GridView。本人就遇到过这种情况,开始只想对数据进行显示没有删除的意思,但是后来考虑到还需要一个删除功能,但分页都已经做好了,不想改用GridView。心想Repeater控件实现删除功能应该不麻烦吧!于是偷懒到百度一搜没找到。 困难就在于怎么取当前行的ID,GridView里可以设置DataKeyName的,在通过取每行的keyname值来取的,而Vs2005的GridView更简单,添加删除完全封装了,不用写额外代码。但Repeater正为了灵活性已经没这属性了,问问群里高手。终于有解决办法了,通过删除按钮Button的CommandName的绑定来取的ID值 CommandName='<%# Eval("ID") %>' ,然后一个 OnCommand="BtnDel_Click"响应事件,对之进行删除 protected void BtnDel_Click(object sender, CommandEventArgs e) { int ID = Convert.ToInt32(e.CommandName); string delSql = "delete from mailbox where id=" + ID; try { DataUse.ExcuteNoqueryUser(delSql); JSUtil.Alert(this.Page, "删除成功!"); Server.Transfer("Mail_Admin.aspx"); } catch (Exception ex) { JSUtil.Alert(this.Page, ex.Message); } } 上面方法的特别之处就是通过CommandName来绑定主键ID值再传给事件里的sql变量
试试其它关键字
repeater
删除按钮
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
玉云
贡献的其它代码
(
22
)
.
android 通过Build获取手机硬件信息
.
判断checkboxlist 是否选中的js函数
.
获取每一条查询语句的记录数
.
精确计算工具类,提供加减乘除的计算
.
JavaBean和Map转换封装类
.
将文件夹下的所有properties文件转换成map
.
浏览器兼容 copyToClipboard("拷贝内容")
.
android写联系人信息的方法
.
显示内容太多用...显示的SQL语句
.
删除SQL表中所有数据 Truncate
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3