如何区分由ASP.Net Repeater Control生成的HTML发布的数据?

时间:2011-06-10 18:21:05

标签: c# asp.net repeater

所以我在表单中使用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我唯一的解决方案。

2 个答案:

答案 0 :(得分:1)

将问题编号绑定到隐藏字段,当保存返回时,将该隐藏字段取回并从中取出该编号。然后你知道你正在看哪个问题。

答案 1 :(得分:0)

在页面加载上设置一个断点并进行回发。深入了解Request.Form键/值对集合。帖子中的所有内容都会在那里,并带有可预测的标签/索引。