【发布时间】:2011-12-02 12:07:51
【问题描述】:
我有一个简单的问卷系统,它从我的数据库中的某个总数中向用户显示随机数量的问题。
我有 2 个单独的表:Questions 和 Alternatives(这是要回答的选项)与两个表中的 QuestionID 字段相关。我使用 Nested Repeaters(parentRepeater 表示问题,childRepeater 表示选项)呈现此类问卷,并且它在页面上正确显示。
每个选项都是一个单选按钮,我不得不将其用作 HTML,而不是 标准服务器控件 <asp:RadioButton>,因为转发器内部存在动态 ID 问题。
所以我的.aspx 代码是这样的:
<asp:Repeater ID="rptQuestoes" runat="server">
<HeaderTemplate>
<form method="get">
<ol class="orderedList">
</HeaderTemplate>
<ItemTemplate>
<li>
<%#DataBinder.Eval(Container.DataItem, "QuestionName")%>
<asp:Repeater ID="rptAlternativas" DataSource='<%# Container.DataItem.Row.GetChildRows("Questionario") %>' runat="server">
<HeaderTemplate>
<ul style="list-style-type: none">
</HeaderTemplate>
<ItemTemplate>
<li>
<input id="<%#Container.DataItem("AlternativeID")%>" type="radio" runat="server" name="<%#Container.DataItem("QuestionID")%>" value="<%#Container.DataItem("AlternativeID")%>" /><%#Container.DataItem("AlternativeName")%>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ol>
</form>
</FooterTemplate>
</asp:Repeater>
我不知道的是,鉴于我不知道 QuestionIDs 和 AlternativeIDs,因为它是随机生成并使用 HTML input,因此我如何获得用户回答的所有问题标签?
【问题讨论】: