为什么当我单击单选按钮时事件处理程序不触发?



我在HTML中有一个8列的表。标题行在HTML中手动填充,如下所示。

            <asp:Table ID="courseTable" runat="server" CssClass="table table-lg" style="color:white">
                    <asp:TableRow>   
                        <asp:TableCell><b>Choose One</b></asp:TableCell>
                        <asp:TableCell><b>Course Name and Title</b></asp:TableCell>
                        <asp:TableCell Width="101"><b>Course Dates</b></asp:TableCell>
                        <asp:TableCell><b>Building</b></asp:TableCell>
                        <asp:TableCell><b>Meeting Times</b></asp:TableCell>                        
                        <asp:TableCell><b>Days of Week</b></asp:TableCell>                     
                        <asp:TableCell><b>Location</b></asp:TableCell>
                        <asp:TableCell><b>Term</b></asp:TableCell>
                    </asp:TableRow>
                </asp:Table>

和后面的代码用于填充更多行(在第一列中使用单选按钮)

                //Add new row to table
                courseTable.Rows.Add(new TableRow());
                //Add Cells to new rows
                for (int x = 0; x < 10; x++)
                {
                    courseTable.Rows[i + 1].Cells.Add(new TableCell());
                }
                //Create radio button for new row
                RadioButton rdo = new RadioButton();
                rdo.ID = response.Sections[i].ToString();
                rdo.Text = response.Sections[i].ToString();
                rdo.CheckedChanged += rdo_CheckedChanged(rdo, new EventArgs());
                //Add buttons and info to table (add 1 since the titles count as a row)
                courseTable.Rows[i + 1].Cells[0].Controls.Add(rdo);
                courseTable.Rows[i + 1].Cells[1].Text = response.NameTitle[i].ToString();
                courseTable.Rows[i + 1].Cells[2].Text = response.SecDates[i].ToString();
                courseTable.Rows[i + 1].Cells[3].Text = response.BuildingRoom[i].ToString();
                courseTable.Rows[i + 1].Cells[4].Text = response.MeetingTime[i].ToString();
                courseTable.Rows[i + 1].Cells[5].Text = response.Days[i].ToString();
                courseTable.Rows[i + 1].Cells[6].Text = response.Location[i].ToString();
                courseTable.Rows[i + 1].Cells[7].Text = response.Term[i].ToString();
            }
        }
        protected EventHandler rdo_CheckedChanged(object sender, EventArgs e)
        {
            System.Windows.Forms.MessageBox.Show("clicked"); //test message box 
            cscId.Value = (sender as RadioButton).ID;
            return null;
        }

,但是事件处理程序仅在将单选按钮动态添加到每行时触发。当用户单击其中一个单选按钮时,事件处理程序永远不会触发。谢谢你提供的信息。

事件处理程序中的测试消息框被添加以验证此

只是给那些可能有这个问题的人…事件没有触发的原因是单选按钮需要。集。但是,不幸的是,由于表是动态创建的,因此回发会弄乱屏幕。我需要使用GridView控件。(

最新更新