Я пытаюсь исправить ошибку в веб-приложении, которое динамически создает кнопки с прикрепленными к ним событиями.Я имею дело с этой функцией man, которая вызывается из цикла for.Из исследования, которое я сделал, этот способ назначения события должен работать, но это не так.На самом деле при нажатии кнопка исчезает по какой-то причине.Правильно ли я назначаю динамические события или может быть что-то еще не так?Переменная «drivers» - это панель, внутри которой создается кнопка.
public void generateDriver(string name, string route, string id)
{
Debug.WriteLine("A driver has been created!");
Literal driverLit = new Literal();
driverLit.Text += "<div class='routeTitle'>";
driverLit.Text += "<input type='text' id='hiddenID' text='" + id + "' hidden />";
driverLit.Text += name + "<br>";
driverLit.Text += route + "<br>";
Button newButton = new Button();
newButton.Text = "Remove";
newButton.ID = id;
newButton.Click += new EventHandler(RemoveDriver);
newButton.CssClass = "btn btn-danger";
drivers.Controls.Add(driverLit);
drivers.Controls.Add(newButton);
drivers.Controls.Add(new Literal
{
Text = "</div>"
});
}
public void RemoveDriver(object sender, EventArgs e)
{
Debug.WriteLine("An event has been triggered!");
Button removeBtn = (Button)sender;
string id = removeBtn.ID;
string querystring = Request.QueryString["id"].ToString();
List<string> routes = querystring.Split('-').ToList();
routes.Remove(id);
string newQueryString = string.Join("-", routes);
Response.Redirect("/Orders.aspx?id=" + newQueryString);
}
Спасибо за любую помощь.