c#中,动态添加的n个同类控件Button,如何根据id触发各自对应的事件?
是这样:一个表单中:
1、n道题目(以及对应选项)从数据库中同时读取出,读出的题数由数据库中记录数决定;(比如,是投票题)
2、对于每个题目,都动态加载对应的Button,用于提交这道题的答案。
3、点击题目1的“确定”按钮时,就提交题目1的答案.....点击题目n“确定”按钮时,就提交题目n的答案。
现在的问题是:我的button是动态添加的,其ID是 "button_ "+id.ToString()。我如何根据id来触发不同题目的提交事件呢?
我的部分代码如下:
while(dr.Read())
{
...............
..........
id = dr[ "id "].ToString(); //题目的ID
.........
TableCell tc= new TableCell();
Button btn_vote = new Button(); //按钮
btn_vote.ID = "btn_vote_ "+id; //此处,Button.ID是动态的
btn_vote.Text = "投票 ";
btn_vote.Click+=new EventHandler(btn_vote_Click); //我这样写的话,都是触发btn_vote_Click事件,无法区分不同题目的提交事件
}
dr.Close();
private void btn_vote_Click(object sender,EventArgs e) //提交选项事件
{
.......................... //请问:应该怎么写,才能区分出不同题目对应的触发事件
}
请各位好心人帮忙详细解答一下,非常感激!
[解决办法]
或者换思路,用膜版,repeater或者其他的,可以很容易记录id,出发itemcommand事件,我做过一个在线调查,也是类似很多题目,可以说和你的一样,用膜版就可以了。
[解决办法]
private void btn_vote_Click(object sender,EventArgs e)
{
string ID = ((Button)(sender)).ID.ToString();
......
......
根据ID作处理
}
[解决办法]
((Button)sender).ID属性。