【发布时间】:2017-02-11 03:56:17
【问题描述】:
我有一个单选按钮列表,它位于 asp 中继器内。它看起来像这样:
<asp:Repeater runat="server" ID="surveyRepeater">
<ItemTemplate>
<h3><%#((Half_Blue.Survey_files.survey_classes.surveyQuestion)Container.DataItem).questionNum%>
. <%#((Half_Blue.Survey_files.survey_classes.surveyQuestion)Container.DataItem).question%>
</h3>
<asp:RadioButtonList ID="surveyRadioList"
DataTextField="questionText"
DataValueField="valueOfQuestion" runat="server"
DataSource="<%#((Half_Blue.Survey_files.survey_classes.surveyQuestion)Container.DataItem).answerOptions %>"
RepeatDirection="Vertical">
</asp:RadioButtonList>
</ItemTemplate>
</asp:Repeater>
这会正确显示单选按钮列表,但是我无法弄清楚如何在后面的代码中获取响应。
我可以通过这样做获得单选按钮列表:
foreach (RepeaterItem item in surveyRepeater.Items)
{
// Checking the item is a data item
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
var rdbList = item.FindControl("surveyRadioList") as RadioButtonList;
if (rdbList != null)
{
retList.Add(rdbList.SelectedValue);
}
}
}
然而,即使它找到了所有 8 个单选按钮列表,所选值始终只是一个空的 "" 字符串。无论我选择哪个选项,所选索引也始终为 -1。
任何帮助将不胜感激。
【问题讨论】: