如何在 Repeater 的事件中得到 当前 Item 绑定的数据?

转载 2004年07月03日 11:51:00

如何在 Repeater 的事件中得到 当前 Item 绑定的数据?

我用Repeater实现一个留言本,我的 Repeater(id为Rp1) 的 ItemTemplate 中有一个用于删除留言的 LinkButton(id为DelButton)。

留言本表结构
Table Message
(
ID,
UserName,
Message
)

我想用客户端脚本实现删之前的确认操作。即在删除前,提示出现一个脚本对话框。“您确信要删除 UserName 的留言吗?”其中UserName来自于Repeater的绑定数据,不同的Item,绑定的UserName值也不同。

经过acewang(龍芯*Inside!) 和SVG(ben) 两位大虾的帮助,我最后的实现办法如下:

显示页面:

<SCRIPT LANGUAGE="JavaScript">
<!--
function confirm_del(UserName)
{
 return confirm('您确定要删除“' + UserName + '”吗?');
}
//-->
</SCRIPT>

<asp:Repeater id="repGuestbook" runat="server">
        <ItemTemplate>
        ....
        ....
        <asp:LinkButton id="DelButton" runat="server" OnCommand="Del_Click" CommandName="Del" CommandArgument= '<%# DataBinder.Eval(Container.DataItem,"ID") %>'>删除留言</asp:LinkButton>
        ....
        ....
        </ItemTemplate>
</asp:Repeater>

代码页面:

private void InitializeComponent()
{   
      ....
      this.Rp1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound);
      ....
}


private void Repeater1_ItemDataBound(object source, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
      if (e.Item.ItemType==ListItemType.Item)
      {
          LinkButton lb=(LinkButton)e.Item.FindControl("MyLB");
          lb.Attributes["onClick"]="JavaScript:return confirm_del('" + DataBinder.Eval(e.Item.DataItem, "UserName") +"');return false;";
          // lb.Attributes["onClick"]="JavaScript:return confirm_del('" + ((DataRowView)(e.Item.DataItem))["UserName"] +"');return false;";
      }

}

上面的 onClick的实现演示了两种实现的办法。(第一种被注释掉了。)
实际应用的时候只需要一种就可以了。

DataBinder.Eval(e.Item.DataItem, "UserName") 这种方法使用简单。
((DataRowView)(e.Item.DataItem))["UserName"] 这种方法执行效率高。

ASP.NET控件Repeater遍历

该例子实现在Repeater通过勾选CheckBox后,通过底部按钮获取到所选的所有数据(之后可以进行批量删除、更新等操作)   首先,定义一个类 public class UserInfo ...
  • bdstjk
  • bdstjk
  • 2012年04月26日 22:27
  • 8761

Repeater绑定数据的3种方式

实现数据绑定的结果: (1) 前台代码:                                             订单号:                       ...
  • Robin_1234
  • Robin_1234
  • 2014年03月05日 23:51
  • 1805

【Asp.net之旅】--数据绑定控件之Repeater

前几篇的文章在说AJAX的内容,利用AJAX技术能够开发出高效运行的网站应用程序,不过在进行B/S项目开发时只拥有AJAX技术是远远不够的,在开发B/S项目时,常常会用到数据绑定控件,.NET平台已经...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2014年03月23日 22:35
  • 20179

repeater用法一步一步详讲,用来绑定和显示数据信息

估计要分两部:  一部分UI部分:在一个div里面可以写个repeater服务器控件,用来横排显示需要的数据; 首先,repeater这个控件,有head,items,foot三个部分,不一定全用。 ...
  • Theflybird
  • Theflybird
  • 2013年06月08日 15:41
  • 6330

jquery 获取单选框的值

随着Jquery的作用越来越大,使用的朋友也越来越多。在Web中,由于CheckBox、Radiobutton 、DropDownList等控件使用的频率比较高,就关系到这些控件在Jquery中的操作...
  • zhaifengmin
  • zhaifengmin
  • 2015年11月13日 15:31
  • 6948

js获取a标签的值

我之前做过那种获取radio值的,获取a标签值还是第一次,当时比较懵,本身前台也是我的软肋,写完以后,感觉一个道理,下面来跟大家共享一下。 a标签部分: 测试1 ...
  • wyl1401672169
  • wyl1401672169
  • 2016年08月16日 11:07
  • 3023

在绑定repeater时,获取值

DataBinder.Eval(e.Item.DataItem, "Id");
  • wei_jie_zhang
  • wei_jie_zhang
  • 2015年07月16日 16:49
  • 366

绑定数据 Repeater 与ObjectDataSource的用法

《》 首先添加一个WebForm页面。命名为DataList。在页面拖入一个Repeater 控件,和一个ObjectDataSource控件 点击“源” 看以看到源中的代码是这样的: ...
  • Fanbin168
  • Fanbin168
  • 2015年09月20日 00:56
  • 1396

ajax联动获取select的值

//首先要引入jq文件在先 中国 美国 日本 然后用Jquery 来获取select ...
  • gz109
  • gz109
  • 2017年07月23日 23:22
  • 140

JavaScript获取当前值

JavaScript获取当前值 1、说明        获取select下拉框中的选中的值以及文本值 2、实现源码 JavaScript获取当前值 /** * Jav...
  • you23hai45
  • you23hai45
  • 2014年07月05日 22:54
  • 1330
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在 Repeater 的事件中得到 当前 Item 绑定的数据?
举报原因:
原因补充:

(最多只允许输入30个字)