0

ボタンの動的リストを生成する必要がありますが、イベント ハンドラーが関連付けられています。

ただし、イベント ハンドラは実行されていません。

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);
        }
4

1 に答える 1

2

ページに動的に追加するコントロールは、Page_initイベントに追加する必要があり、一意のIDを持っている必要があります。ユーザーが値を入力または変更できるテキストボックスまたはその他のコントロールを追加する場合、これらのコントロールが再度追加されたときのすべてのポストバックでは、同じIDが必要です。

于 2012-06-15T08:53:58.207 に答える