如何从Repeater控件获取值

时间:2011-07-15 04:13:09

标签: asp.net

我正在使用转发器控件向用户显示在线试卷。我向用户展示了50个问题。我为每个问题提供4个复选框以选择答案。现在我的疑问是如何获取用户检查的所有50个选项,并将这些答案与我的XML中的正确答案标记进行比较。我使用的是XML文件,而不是数据库。

任何人都可以帮助我如何实现此功能吗?

2 个答案:

答案 0 :(得分:0)

你必须迭代Repeater控件,比如......

if (Repeater1.Items.Count > 0)
{
    for (int count = 0; count < Repeater1.Items.Count; count++)
    {
        CheckBox chk = (CheckBox)Repeater1.Items[count].FindControl("CheckBox1");
        if (chk.Checked)
        {

        }
    }
}

答案 1 :(得分:0)

要访问Repeater项,您应该使用:

repeaterId.Items

要访问转发器的所有已检查控件(绝对是RadioButton控件,因为每个问题应该有一个选项),您可以使用:

foreach (ListViewDataItem item in repeaterId.Items)
{
    // Finding RadioButton controls by Id
    RadioButton firstOption = ((RadioButton)item.FindControl("firstOption"));
    RadioButton secondOption = ((RadioButton)item.FindControl("secondOption"));
    RadioButton thirdOption = ((RadioButton)item.FindControl("thirdOption"));
    RadioButton fourthOption = ((RadioButton)item.FindControl("fourthOption"));
    // Here you have four RadioButtones and you should only see which one of them is clicked. Then compare its value to correct value in your XML file.
}