C# 火灾检查动态创建单选按钮的更改事件?
在下面的代码中,单选按钮是动态创建的,但我想创建动态创建的k adioñuttons的select index change事件并对其进行处理……下面是不触发该事件的代码C# 火灾检查动态创建单选按钮的更改事件?,c#,asp.net,.net,events,radio-button,C#,Asp.net,.net,Events,Radio Button,在下面的代码中,单选按钮是动态创建的,但我想创建动态创建的k adioñuttons的select index change事件并对其进行处理……下面是不触发该事件的代码 DataSet ds = SqlHelper.ExecuteDataset(sCon, "Ps_Quiz_QuestionsWithOptions_Get",sQuestions); if (ds.Tables.Count > 0 ?? ds.Tables[0].Rows.Count > 0) { int
DataSet ds = SqlHelper.ExecuteDataset(sCon, "Ps_Quiz_QuestionsWithOptions_Get",sQuestions);
if (ds.Tables.Count > 0 ?? ds.Tables[0].Rows.Count > 0)
{
int iCnt = 0;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Table tblQsn = new Table();
//.....Begin Text Qsn Creation.....//
tblQsn.Width = 500;
TableRow trQsn = new TableRow();
iRowCounter++;
trQsn.ID = "Row_" + iRowCounter.ToString();
TableCell tcQsn = new TableCell();
TableCell tcQsnSNo = new TableCell();
tcQsn.CssClass = "Label";
tcQsn.BackColor = System.Drawing.Color.Gainsboro;
tcQsn.Font.Bold = true;
tcQsn.Text = ds.Tables[0].Rows[i][1].ToString();
tcQsn.Width = Unit.Percentage(99.5);
iCellCounter++;
tcQsn.ID = "Cell_" + iCellCounter.ToString();
tcQsnSNo.CssClass = "Label";
tcQsnSNo.Attributes.Add("valign", "top");
tcQsnSNo.BackColor = System.Drawing.Color.Gainsboro;
tcQsnSNo.Font.Bold = true;
tcQsnSNo.Width = Unit.Percentage(0.5);
iCellCounter++;
tcQsnSNo.ID = "Cell_" + iCellCounter.ToString();
iCnt++;
tcQsnSNo.Text = iCnt.ToString() + ".";
trQsn.Cells.Add(tcQsnSNo);
trQsn.Cells.Add(tcQsn);
tblQsn.Rows.Add(trQsn);
int rcnt = i;
int iOptCnt = 0;
string sStatus = "N";
while ((rcnt >= 0) && (rcnt < ds.Tables[0].Rows.Count))
{
if (ds.Tables[0].Rows[rcnt][2].ToString() == ds.Tables[0].Rows[i][2].ToString())
{
if (sStatus == "N")
{
sStatus = "Y";
}
TableRow trQsnOpt = new TableRow();
iRowCounter++;
trQsnOpt.ID = "Row_" + iRowCounter.ToString();
TableCell tcQsnOpt = new TableCell();
tcQsnOpt.CssClass = "Label";
iCellCounter++;
tcQsnOpt.ID = "Cell_" + iCellCounter.ToString();
tcQsnOpt.Attributes.Add("valign", "top");
tcQsnOpt.VerticalAlign = VerticalAlign.Middle;
TableCell tcQsnOptSNo = new TableCell();
tcQsnOptSNo.CssClass = "Label";
iCellCounter++;
tcQsnOptSNo.ID = "Cell_" + iCellCounter.ToString();
iOptCnt++;
RadioButton oRbOptions = new RadioButton();
oRbOptions.GroupName = ds.Tables[0].Rows[rcnt][2].ToString() + "_Group";
oRbOptions.Text = ds.Tables[0].Rows[rcnt][3].ToString().Trim();
iRbTCounter++;
oRbOptions.ID = ds.Tables[0].Rows[i][0].ToString() + "_" + ds.Tables[0].Rows[rcnt][2].ToString() + "_" + "Option" + iOptCnt.ToString() + "_" + iRbTCounter.ToString();
oRbOptions.Enabled = true;
if (ds.Tables[0].Rows[i][2].ToString() == "Option" + iRbTCounter.ToString())
{
oRbOptions.Checked = true;
}
oRbOptions.CssClass = "Label";
tcQsnOpt.Controls.Add(oRbOptions);
oRbOptions.CheckedChanged += new System.EventHandler(CheckedChanged);
oRbOptions.AutoPostBack = false;
tcQsnOptSNo.Text = iOptCnt.ToString() + ".";
trQsnOpt.Cells.Add(tcQsnOptSNo);
trQsnOpt.Cells.Add(tcQsnOpt);
rcnt++;
//.....Add Option Image.....//
tblQsn.Rows.Add(trQsnOpt);
}
else
break;
}
i = rcnt - 1;
PlPreview.Controls.Add(tblQsn);
}
}
DataSet ds=SqlHelper.ExecuteDataset(sCon,“Ps\u quick\u questions swithoptions\u Get”,sQuestions);
如果(ds.Tables.Count>0??ds.Tables[0]。Rows.Count>0)
{
int-iCnt=0;
对于(int i=0;i=0)和&(rcnt oRbOptions.CheckedChanged+=新系统.EventHandler(CheckedChanged);
oRbOptions.AutoPostBack=false;
tcQsnOptSNo.Text=iOptCnt.ToString()+“;
trQsnOpt.Cells.Add(tcQsnOptSNo);
trQsnOpt.Cells.Add(tcQsnOpt);
rcnt++;
//…添加选项图像//
tblQsn.Rows.Add(trQsnOpt);
}
其他的
打破
}
i=rcnt-1;
PlPreview.Controls.Add(tblQsn);
}
}
您正在为单选按钮设置AutoPostBack为false。因此
请将假改为真
oRbOptions.AutoPostBack = true;
简单为选中的更改事件附加eventhandler
oRbOptions.CheckedChanged += (s,e) => {
oRbOptions.AutoPostBack = true;
}
谢谢当我更改oRbOptions.AutoPostBack=true时;它发回页面,但仍然不会触发event.oRbOptions.CheckedChanged+=new System.EventHandler(CheckedChanged);oRbOptions.CheckedChanged+=(s,e)=>{oRbOptions.AutoPostBack=true;};My Event protected void CheckedChanged(对象发送方,EventArgs e){}仍不工作