【发布时间】:2012-12-21 18:10:33
【问题描述】:
我正在研究 C# 和 ASP.NET 4.0 中的解决方案我试图从我的页面中获取单选按钮的值,该页面是基于一些数据库信息动态创建的。
以下是页面源中生成的内容:
<td>
<input id="masterMain_3Answer_0" type="radio" name="ctl00$masterMain$3Answer"
value="Y" onclick="return answeredyes(3);" />
<label for="masterMain_3Answer_0">Y</label>
</td>
<td>
<input id="masterMain_3Answer_1" type="radio" name="ctl00$masterMain$3Answer"
value="N" onclick="return answeredno(3,'desc');" />
<label for="masterMain_3Answer_1">N</label>
</td>
在我的提交按钮的 OnClick 函数中,我想根据用户的输入收集是否选择了 Y 或 N。
这是我目前所写的:
RadioButton _rbAnswer = new RadioButton();
RadioButtonList _rbList = new RadioButtonList();
ContentPlaceHolder cp = (ContentPlaceHolder)Master.FindControl("masterMain");
_rbAnswer = (RadioButton)Master.FindControl("masterMain_3Answer_0");
HtmlInputRadioButton rb = (HtmlInputRadioButton)Master.FindControl("masterMain_3Answer_0");
_rbAnswer = (RadioButton)cp.FindControl("masterMain_3Answer_0");
_rbList = (RadioButtonList)cp.FindControl("masterMain_3Answer_0");
我能够毫无问题地获取 ContentPlaceHolder,但其余对象在尝试获取 .我也尝试删除“masterMain_”,但仍然不想找到控件。
这是添加单个单选按钮列表的代码
TableRow _tempRow = new TableRow();
TableCell _cellOK = new TableCell();
RadioButtonList _rbList = new RadioButtonList();
_rbList.ID = r[0].ToString()+"Answer";
_rbList.RepeatDirection = RepeatDirection.Horizontal;
//add options for yes or no
ListItem _liOk = new ListItem();
_liOk.Value = "Y";
ListItem _linotOk = new ListItem();
_linotOk.Value = "N";
_rbList.Items.Add(_linotOk);
//add cell to row
_rbList.Items.Add(_liOk);
_cellOK.Controls.Add(_rbList);
_tempRow.Cells.Add(_cellOK);
//add the row to the table
stdtable.Rows.Add(_tempRow);
【问题讨论】:
-
rbList.SelectedValue有什么问题? -
这是我想做的,但 rbList 为空,因为我没有正确获得控制
-
如果您首先发布涉及添加控件的代码,我们都会受益。您试图找到控件的部分毫无意义,因为我们没有真正的参考框架。
标签: c# asp.net master-pages contentplaceholder