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

sqlconstr.Open();stringstrselect=string.Format("select*fromdbo.WX_userwherertrim(ltri... 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);
// 因为我是循环添加按钮的这里点击事件的时候变成只能取到循环后的最后一个按钮名称,请问该如何写才能点击循环后的按钮取到相应的按钮名称呢?
}
展开
 我来答
匿名用户
推荐于2017-12-16
展开全部
在click事件中,都有两个参数,其中(object sender,EventArgs e)中的sender就是当前触发的按钮,可以通过(sender as Button).Name获得name,.text获得文本,此时的对象就是一个Button可以取得相关的全部属性值,你可以试一下,net的全面知识,可以关注下最课程net,有助于全面了解。
神赐睿智
2015-04-03 · TA获得超过989个赞
知道小有建树答主
回答量:833
采纳率:75%
帮助的人:420万
展开全部
还可以直接这样写

(Button)sender 这样就代表了你点的那个按钮

(Button)sender.ID 就是你点的按钮的ID (Button)sender.Text 就是按钮上的字符 不用搞SESSION
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式