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