C# Asp.net,C从面板中选择单选按钮和标签

C# Asp.net,C从面板中选择单选按钮和标签,c#,.net,asp.net,C#,.net,Asp.net,我在项目中遇到了一个新问题 我的页面上有一个面板,我使用纯编程代码添加标签、单选按钮和2个图像按钮,因为标签和单选按钮的数量可能不同 我给了每个单选按钮一个特殊的ID,以便我知道它属于面板的哪个内容。 现在最大的问题是我不知道如何从面板上获取信息 假设面板中充满了标签和单选按钮,问题的标签和回答分数为0-10的单选按钮,我按要求为每个问题打分,例如,我如何从面板中选择id以“5”结尾的每个单选按钮并获取其值 面板名称=pnlMain 我的代码: 谢谢 我希望你们能帮我,因为我真的被困在这件事上了

我在项目中遇到了一个新问题

我的页面上有一个面板,我使用纯编程代码添加标签、单选按钮和2个图像按钮,因为标签和单选按钮的数量可能不同

我给了每个单选按钮一个特殊的ID,以便我知道它属于面板的哪个内容。 现在最大的问题是我不知道如何从面板上获取信息

假设面板中充满了标签和单选按钮,问题的标签和回答分数为0-10的单选按钮,我按要求为每个问题打分,例如,我如何从面板中选择id以“5”结尾的每个单选按钮并获取其值

面板名称=pnlMain

我的代码:

谢谢 我希望你们能帮我,因为我真的被困在这件事上了

格尔茨,
Nico

您可以通过面板的控件来获取每个RadioButton列表,然后通过这些控件来获取单选按钮

foreach (Control RBL in pnlMain.Controls)
{
    if (RBL is RadioButtonList)
    {
        foreach (ListItem LI in (RBL as RadioButtonList).Items)
        {
            if (LI.Text.EndsWith("5") && LI.Selected)
            {
                // Do something with the radiobutton
            }
        }
    }
}

终于找到了答案

如果要在回发后保留这些动态控件,请执行以下操作:

对于我来说,我使用SelectedIndexChange用动态控件填充我的面板。 我制作了另一个名为laden的方法,我在其中编写代码来显示这些动态控件。 如果希望这些控件传递回发等,只需将以下代码放入Page_Load方法:

    if (Page.IsPostBack) {
        laden();
    }
这意味着,如果您得到回发,它将在回发后重新加载这些控件。 即使您将数据插入到选定的文本框或单选按钮中,它仍将与回发之前相同,没有数据丢失


享受。

您是否使用runat=server定义了控件?@Neil Knight。他是通过编程方式添加它们的,所以这不适用。也许有一个属性或某种类型是我在创建这些控件时忘记添加的?这正是我想要的!谢谢你@尼科。没问题,一定要将我的答案标记为已接受的答案,然后单击旁边的勾号。你知道如何只选择选中的单选按钮吗?在egain上尝试了一次又一次地尝试代码,但当我尝试调试时。writeline计算他找到的控件数,每次他都给出0或1。我确信面板上有标签和单选按钮,因为我在运行此代码面板之前将它们放入面板中,可以通过屏幕上的控件看到面板。可能有用:我使用纯编程代码在RadioButtonList中添加这些单选按钮,不使用ASPXY。您在任何时候只能检查一个单选按钮,不是吗?所以它只能找到一个被检查过的。