Удаление OnClientClick = "return false;"
необходимо, но не достаточно, чтобы заставить это работать.Если вы хотите, чтобы обработчик событий на динамически добавленной кнопке срабатывал, вам нужно будет добавлять эту кнопку каждый раз, когда страница загружается .
Одним простым способом было бы сохранить тот факт, что кнопка была добавлена в ViewState, а затем проверить это на PageLoad и повторно добавить кнопку, если необходимо.
Вот пример, которыйработает для меня (и выдает исключение при нажатии)
protected void Page_Load(object sender, EventArgs e)
{
//if the button was added previously, add it again
if (ViewState["Added"] != null && (bool)ViewState["Added"])
addButton();
}
//this is the method that adds the button
protected void add_Click(object sender, EventArgs e) {
ViewState["Added"] = true;
addButton();
}
private void addButton() {
Button linkBtn1 = new Button();
linkBtn1.Text = "linkBtn1";
linkBtn1.Click += new EventHandler(linkBtn1_Click);
placeholder1.Controls.Add(linkBtn1);
}
void linkBtn1_Click(object sender, EventArgs e) {
throw new Exception("Button Click Event Triggered. Hello yellow screen!!!");
}