gpt4 book ai didi

c# - 如何使用 RadioButtonList 中的 Repeater 来重复 RadioButtonList 的 ListItem

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:02 28 4
gpt4 key购买 nike

首先,repeater with in a repeater可以用吗?如果是,我将如何在以下场景中使用嵌套中继器。

<div class="row">
<asp:Repeater ID="rp_Question" runat="server">
<ItemTemplate>
<p class="_100">
<h2 id="h4_Question" runat="server"><%# Eval("question_text") %></h2>
</p>
<p class="left">
<asp:RadioButtonList ID="rb_Question" runat="server">
<asp:ListItem Text="Option1" Value="1"></asp:ListItem>
<asp:ListItem Text="Option2" Value="2"></asp:ListItem>
<asp:ListItem Text="Option3" Value="3"></asp:ListItem>
<asp:ListItem Text="Option4" Value="4"></asp:ListItem>
</asp:RadioButtonList>
</p>
</ItemTemplate>
</asp:Repeater

中继器绑定(bind)

rp_Question.DataSource = _question.GetAll();
rp_Question.DataBind();

每个问题的选项都保存在数据库中,最小选项可以是 3,最大可以是 6。如何使用 rp_Question 中的其他转发器来重复每个问题的选项。我想像这样展示出来。

enter image description here

最佳答案

扩展 KateCute 给出的答案,您可以为此使用 ItemDataBound 事件。

<asp:Repeater ID="rp_Question" runat="server" OnItemDataBound="rp_Question_ItemDataBound">

然后在代码后面。

protected void rp_Question_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//find the radiobuttonlist with findcontrol and cast back to it's original type
RadioButtonList rb_Question = e.Item.FindControl("rb_Question") as RadioButtonList;

//get the current datarow
DataRowView row = e.Item.DataItem as DataRowView;

//get the id from the datarow object
string questionID = row["question_id"].ToString();

//get the answers from the db with questionID and bind them as listitems just like in the loop below

//just a loop to add some listitems for demo
for (int i = 0; i < 5; i++)
{
rb_Question.Items.Insert(i, new ListItem("Option " + i.ToString(), i.ToString(), true));
}
}

关于c# - 如何使用 RadioButtonList 中的 Repeater 来重复 RadioButtonList 的 ListItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583778/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com