gpt4 book ai didi

c# - 如何在中继器内编程按钮单击事件

转载 作者:可可西里 更新时间:2023-11-01 13:41:39 24 4
gpt4 key购买 nike

我是 ASP.NET 的新手。我在中继器内添加了一个按钮。当用户单击按钮时,特定的行值应显示在中继器外部的标签上。这是我要实现的设计。

enter image description here

中继器:

<asp:Repeater ID="rpt3" runat="server">
<ItemTemplate>
<h3> <%#Eval("name") %> </h3>
<asp:Button ID="Button1" runat="server" Text="Show Details"/>
</ItemTemplate>
</asp:Repeater>

<asp:Label ID="Label1" runat="server" ></asp:Label>

C#:

public void Getuser() {
using(SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) {
SqlCommand cmd = new SqlCommand("select name from message where emailid= '" + Session["un"].ToString() + "'", con);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);

con.Open();
da.Fill(dt);
if (dt.Rows.Count > 0 && dt.Rows[0][0] != string.Empty) {
rpt3.DataSource = dt;
rpt3.DataBind();
} else {
rpt3.DataSource = null;
rpt3.DataBind();
}
con.Close();
}
}

最佳答案

可能有很多方法,您可以在页面加载时添加点击事件。只需检查中继器内的项目并将按钮单击事件设置为:

foreach (RepeaterItem rptItem in rpt3.Items)
{
Button btn = rptItem .FindControl("btnShowLabel") as Button;
btn.Click += new EventHandler(btn_Click);
}

然后您可以在点击事件上执行您的任务,例如:

void btn_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
RepeaterItem rptItem = (RepeaterItem)btn.NamingContainer;
Label lb = (Label)rptItem.FindControl("lbShowing");
lb.Text = "Showing you text here";
}
  1. 通过按钮上的命令名称,然后是中继器 ItemCommand 事件。

代码隐藏:

 protected void rp3_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "show")
{
}
}

正面

关于c# - 如何在中继器内编程按钮单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55546114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com