
ASP.NET repeater控件传值
repeater控件里边有一个Button,想要在点击的时候把repeater控件中该Button对应列的一个值读出来,怎么才能实现呢?...
repeater控件里边有一个Button ,想要在点击的时候把repeater控件中该Button对应列的一个值读出来,怎么才能实现呢?
展开
展开全部
.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; }
}
<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; }
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询