通过动态创建的按钮动态创建的按钮不会触发 eventHandler onClick? C#,ASP.NET

时间:2021-03-27 16:19:02

标签: c# asp.net

所以首先我动态创建了一些按钮:

for ($j = 0; $j -lt $screenObj.Length; $j++)
{ 
  # ...
}

button_click_year 看起来像这样:

protected void Page_Load(object sender, EventArgs e)
        {
          
            DataTable Steps = SMART_EOM_WEB.ProcedureManager.DataRetriever.RetriveHistorySTEPS(EOMCON);

            List<string> anni = Anni(Steps);

            foreach (string str in anni)
            {
                Button button = new Button();
                button.Text = str;
                button.ID = str;
                button.CssClass = "btn btn-primary";
                button.Click += new EventHandler(button_click_year);
                Anni_ph.Controls.Add(button);
            }
            Mesi_ph.Visible = false;
        }

我的问题是当我点击第二个按钮时 button_click_month 没有被触发......为什么?

第二个事件处理程序:

 protected void button_click_year(object sender, EventArgs e)
        {
            Button button = sender as Button;

            SqlConnection EOMCON = SMART_EOM_WEB.ConnectionManager.Connector.Conn();
            DataTable Steps = SMART_EOM_WEB.ProcedureManager.DataRetriever.RetriveHistorySTEPS(EOMCON);
            List<string> mesi = Mesi(Steps, button.Text);
            List<string> mesiConverted = MesiConverted(mesi);
            foreach (string str in mesiConverted)
            {
                Button button_mese = new Button();
                button_mese.Text = str;
                button_mese.ID = button.ID+str;
                button_mese.CssClass = "btn btn-primary";
                button_mese.Click += new EventHandler(button_click_month);
                Mesi_ph.Controls.Add(button_mese);
            }
            Anni_ph.Visible = false;
            Mesi_ph.Visible = true;

        }

0 个答案:

没有答案
相关问题