我正在尝试创建一个在线调查问卷,这是我网站的前端
<table>
<tbody>
<asp:ListView ID="lvQuestion" runat="server" OnPagePropertiesChanged="lvQuestion_OnPagePropertiesChanged" OnPagePropertiesChanging="lvQuestion_PagePropertiesChanging">
<LayoutTemplate>
<ul>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td><%# Eval("theQuestion") %></td>
</tr>
<tr>
<td><input type="radio" name="choice" value="<%# Eval("Choice1") %>" /><%# Eval("Choice1") %></td>
<td><input type="radio" name="choice" value="<%# Eval("Choice2") %>" /><%# Eval("Choice2") %></td>
<td><input type="radio" name="choice" value="<%# Eval("Choice3") %>" /><%# Eval("Choice3") %></td>
<td><input type="radio" name="choice" value="<%# Eval("Choice4") %>" /><%# Eval("Choice4") %></td>
</tr>
</ItemTemplate>
<EmptyDataTemplate>
No data
</EmptyDataTemplate>
</asp:ListView>
</tbody>
</table>
<asp:DataPager ID="lvDataPager1" runat="server" PagedControlID="lvQuestion" PageSize="1">
<Fields>
<asp:NumericPagerField ButtonType="Link" />
</Fields>
</asp:DataPager>
我已成功显示问题及其选择(使用HTML5单选按钮)。但是,当用户从问题#1导航到问题#2时,问题#1中的所选答案将被DataPager丢失。我需要保存选定的答案,以便使用单个提交按钮收集所有答案。
答案 0 :(得分:1)
您可以runat='server'
使用id
来控制
<input type="radio" name="choice" value="<%# Eval("Choice1") %>" id="rdCh1" runat="server" />
<input type="radio" name="choice" value="<%# Eval("Choice1") %>" id="rdCh2" runat="server" />
<input type="radio" name="choice" value="<%# Eval("Choice1") %>" id="rdCh3" runat="server" />
代码背后的您可以通过
获取这些值string selvalues=rdCh1.Value.ToString();
你必须在ListView中查找单选按钮在ItemDataBound
protected void ListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
System.Web.UI.HtmlControls.HtmlInputRadioButton =
(System.Web.UI.HtmlControls.HtmlInputRadioButton)e.Item.FindControl("rdCh1");
}