求助 ASP.net 后台循环添加按钮,如何才能获取到点击按钮获取到当前点击按钮的名称

bluewait 2015-04-02 06:14:03
sqlconstr.Open();
string strselect = string.Format("select * from dbo.WX_user where rtrim(ltrim(OpenID))='{0}'", openid);


SqlDataAdapter da = new SqlDataAdapter(strselect, sqlconstr);
DataSet ds = new DataSet();
da.Fill(ds);


try
{
if (ds.Tables[0].Rows.Count == 0)
{

Response.Write("用户ID不对应");
}
else
{

try
{
if (ds.Tables[0].Rows.Count == 0)
{

Response.Write("用户ID不对应");
}
else
{
int i = 0;
while (i < ds.Tables[0].Rows.Count)
{

//使用按钮显示用户绑定号
Button bt = new Button();
bt.Text = ds.Tables[0].Rows[i]["c_id"].ToString();
bt.ID = "bt" + i;
bt.Click += click;
this.c_id.Controls.Add(bt);
Session["btText"] = bt.Text;



i++;
}

}



}
catch (SqlException s)
{
Response.Write(s.Message.ToString());

}
}

protected void click(object sender, EventArgs e)
{
Label lb = new Label();
lb.Text = Session["btText"].ToString();
this.c_id.Controls.Add(lb);
// 因为我是循环添加按钮的这里点击事件的时候变成只能取到循环后的最后一个按钮名称,请问该如何写才能点击循环后的按钮取到相应的按钮名称呢?
}
...全文
144 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
sender就是你点击的button,转化下就可以了
wjq 2015-04-02
  • 打赏
  • 举报
回复
protected void click(object sender, EventArgs e) { Label lb = new Label(); lb.Text = ((Button)sender).ID; this.c_id.Controls.Add(lb); }
bluewait 2015-04-02
  • 打赏
  • 举报
回复
引用 1 楼 yangliweng2 的回复:
你好像没在循环体里写BREAK吧,这样肯定得到的是循环的最后一个啊,
你需要判断一下,如果点的是“当前”的东西的话,那么就BREAK一下


如果BREAK下不是我的按钮显示不全?

我需要的是先循环出所有的按钮在实现点击按钮事件
「已注销」 2015-04-02
  • 打赏
  • 举报
回复
你好像没在循环体里写BREAK吧,这样肯定得到的是循环的最后一个啊, 你需要判断一下,如果点的是“当前”的东西的话,那么就BREAK一下

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧