所以我在表单中使用Repeater来显示从数据库中检索的问题列表。 每个问题允许最终用户选择是或否,并添加一些额外的文本。
<ItemTemplate>
<asp:Panel runat="server">
<asp:RadioButtonList RepeatDirection="Horizontal" CssClass="YesNo" ID="YesNo" runat="server">
<asp:ListItem Value="Yes" Text="Yes" />
<asp:ListItem Value="No" Text="No" />
</asp:RadioButtonList>
</asp:panel>
<asp:Panel runat="server" CssClass="MoreInfo">
<asp:TextBox ID="TextBox1" TextMode="MultiLine" Height="70px" Rows="10" Columns="25" Wrap="true" runat="server" CssClass="MoreInfoText"></asp:TextBox>
</asp:Panel>
</ItemTemplate>
转发器被数据绑定到PageLoad事件中的数据表。 数据表中字段的一个是问题编号。 因此,当数据发布时,我如何判断每个答案(是或否和附加文本)引用哪个问题?
如果我手动生成HTML而不是使用服务器控件,我可以创建将发布数据的html元素的名称,如
name=variableHoldingQuestionNumber + YesNo
name=variableHoldingQuestionNumber + AdditionalComments
但是在Repeater Item中设置Name属性时似乎无法使用变量。 放弃Server Control并自己编写HTML我唯一的解决方案。
答案 0 :(得分:1)
将问题编号绑定到隐藏字段,当保存返回时,将该隐藏字段取回并从中取出该编号。然后你知道你正在看哪个问题。
答案 1 :(得分:0)
在页面加载上设置一个断点并进行回发。深入了解Request.Form键/值对集合。帖子中的所有内容都会在那里,并带有可预测的标签/索引。