我已经动态创建了一个具有ID和名称的按钮,我现在想要使用' btnCategoryClick'来制作点击事件。方法,返回特定单击按钮的ID。这是我的代码
protected void Page_Load(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection(connection);
MySqlDataAdapter sda = new MySqlDataAdapter("SELECT * FROM category", con);
DataTable dt = new DataTable();
sda.Fill(dt);
foreach (DataRow row in dt.Rows)
{
//responsive paneel
Panel resPanel = new Panel();
resPanel.CssClass = "category-panel all-category category-content";
// een paneel voor de categorieen
// categorie verschijnt in een vorm van een button
Panel categoryPanel = new Panel();
Button btnCategory = new Button
{
// attributen meegeven aan de categorie buttons id, naam, class
ID = row["category_id"].ToString()
};
btnCategory.Text += row["categoryName"].ToString();
btnCategory.CssClass = "category-name";
// een klik event meegeven aan de buttons
btnCategory.Click += new EventHandler(btnCategoryClick);
// voeg button toe aan de paneel
// #categoryPanel is de paneel in backend
categoryPanel.Controls.Add(btnCategory);
resPanel.Controls.Add(categoryPanel);
// koppel de backend paneel aan de frontend paneel
// pnlCategory is de frontend(html/aspx) id
pnlCategory.Controls.Add(resPanel);
}
}
private void btnCategoryClick(object sender, EventArgs e)
{
}
答案 0 :(得分:1)
点击事件的sender
将是按钮。在事件处理程序中,只需将sender
转换为Button
类型,然后获取其ID:
private void btnCategoryClick(object sender, EventArgs e)
{
Button btn = (Button)sender;
string categoryId = btn.ID;
}