ASP.NET repeater控件传值

repeater控件里边有一个Button,想要在点击的时候把repeater控件中该Button对应列的一个值读出来,怎么才能实现呢?... repeater控件里边有一个Button ,想要在点击的时候把repeater控件中该Button对应列的一个值读出来,怎么才能实现呢? 展开
 我来答
平梦醉神风1I
2011-08-11 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1066万
展开全部
.aspx
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# (Container.DataItem as User).Id %>
<asp:Label ID="lblName" runat="server" Text='<%# (Container.DataItem as User).Name %>'></asp:Label>
<asp:Button ID="btnSelect" runat="server" Text="选择" OnClick="btnSelect_Click" />
</ItemTemplate>
</asp:Repeater>
<asp:Literal ID="lblMsg" runat="server"></asp:Literal>

.aspx.cs
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Web.UI.WebControls;

public partial class RepeaterDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
BindData();
}
}

private void BindData()
{
List<User> list = new List<User>();
list.Add(new User { Id = 1, Name = "aa" });
list.Add(new User { Id = 2, Name = "bb" });
list.Add(new User { Id = 3, Name = "cc" });
list.Add(new User { Id = 4, Name = "dd" });
Repeater1.DataSource = list;
Repeater1.DataBind();
}

protected void btnSelect_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
//获得当前项
RepeaterItem item = btn.NamingContainer as RepeaterItem;

//通过控件获得
lblMsg.Text = (item.FindControl("lblName") as Label).Text;
}
}

public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式