Не устанавливайте кнопку id
, оставьте ее по умолчанию.Вместо этого установите свойство кнопки CommandArgument
:
foreach (UserDetails _UD in m_TeachersDetailsList)
{
Button button = new Button();// a Button control
button.Text = "click";
button.CommandArgument = _UD.UserDetailID.ToString(); // some unique identifier
// this is optional, if you need multiple actions for each UserDetail:
button.CommandName = "SomeAction"; // optional
button.Command += new EventHandler(detailButton_Handler);
// ...etc...
}
Тогда ваш обработчик должен проверить значения CommandName
и CommandArgument
:
public void detailButton_Handler(object sender, EventArgs e)
{
string DetailID = e.CommandArgument.ToString();
switch (e.CommandName.ToString())
{
case "SomeAction":
/// Now you know which Detail they clicked on
break;
case "OtherAction":
break;
}
}