我有嵌套转发器,如下所示:
<asp:Repeater ID="rptQuestoes" runat="server">
<HeaderTemplate>
<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="rb" type="radio" name='ITEM_INDEX_HERE' value='<%#Container.DataItem("AlternativeID")%>' /><%#Container.DataItem("AlternativeName")%>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ol>
</FooterTemplate>
</asp:Repeater>
我想在ITEM_INDEX_HERE
标记中的VB中的子转发器(rptAlternativas)内打印父项索引。我怎样才能做到这一点?
答案 0 :(得分:0)
我希望有人可以给你一个比这更好的答案,但我会考虑在你的“Quentionario”子元素中添加一个属性。
<asp:Repeater ID="rptAlternativas"
DataSource='<%# Container.DataItem.Row.GetChildRows("Questionario") %>'
runat="server">
您可以为每个对象添加问题ID吗?您已经在单选按钮中绑定了他们的AlternativeId
,向这些对象添加了一个问题ID可以让您轻松完成:
<input id="rb" type="radio" name='<%#Container.DataItem("QuestionId")%>' value='<%#Container.DataItem("AlternativeID")%>' />
即使这些对象是从ORM自动生成的,您也应该能够通过局部类添加属性,然后只需在一个简单的循环中设置适当的值。