Динамически генерируемые кнопки, при нажатии не выполняется

Мне нужно сгенерировать динамический список кнопок, которые я уже сделал, с прикрепленным к нему обработчиком событий.

Однако обработчик событий не выполняется.

private void GetOptions(EcoBonusRequest request)
        {
            var ecobonuswworkflow = WorkflowFactory.CreateEcobonusWorkflow();
            ecobonuswworkflow.SetCurrentStep(request.CurrentStatus);
            var currentoptions = ecobonuswworkflow.GetCurrentOptions();
            foreach(var option in currentoptions)
            {
                var btn = new Button() {Text = option.OptionName};
                btn.Click +=new EventHandler(btn_Click);
                Buttons.Controls.Add(btn);
            }

        }


        void btn_Click(object sender, EventArgs e)
        {
            var btn = (Button) sender;
            string command = btn.Text;
            EcoBonusRequest request = this.GetDBRequest(RequestBaseId.Value);
            EcoBonusRequestBL.AddWorkflowHistoryItem(request, command,CurrentUser, command);
        }
 Luis Valencia15 июн. 2012 г., 10:51
Как бы вы рефакторинг это?
 Rango15 июн. 2012 г., 10:49
Вам нужно пересоздать эти кнопки при каждой обратной передаче (с тем же идентификатором, что и раньше, и в самой последней странице). Читать (особенно часть 3)TRULY Understanding Dynamic Controls
 Rango15 июн. 2012 г., 10:55
Если честно, я бы просто использовалweb databound control как повторитель, если это возможно.

Ответы на вопрос(1)

Решение Вопроса

которые вы динамически добавляете на свою страницу, должны быть добавлены в событие Page_init, и они должны иметь уникальные идентификаторы. Если вы добавляете текстовые поля или некоторые другие элементы управления, где пользователь может вводить или изменять значение, то в каждом сообщении после повторного добавления этих элементов управления они должны иметь одинаковые идентификаторы.

Ваш ответ на вопрос