【问题标题】:Asp.net, C# Selecting radiobuttons and labels from a panelAsp.net,C# 从面板中选择单选按钮和标签
【发布时间】:2011-05-08 23:50:42
【问题描述】:

我的项目遇到了一个新问题;

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

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

假设面板充满了标签和单选按钮(问题标签和回答分数 0-10 的单选按钮),我按要求对每个问题进行评分,例如,我如何从面板中选择每个单选按钮,其 id 为以'5'结尾并获得它的价值?

面板名称 = pnlMain

我的代码:http://pastebin.com/gv8ycMY4

谢谢 我希望你们能在这里帮助我,因为我真的坚持这一点。

grtz, 妮可

【问题讨论】:

  • 你用runat="server"定义你的控件了吗?
  • @Neil-Knight。他以编程方式添加它们,因此不适用。
  • 也许是我在创建这些控件时忘记添加的属性或某种属性?

标签: c# .net asp.net


【解决方案1】:

您可以遍历面板的控件以获取每个单选按钮列表,然后遍历这些控件以获取单选按钮。

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
            }
        }
    }
}

【讨论】:

  • 正是我想要的!谢谢你!
  • @Nico。没问题,请务必将我的答案标记为已接受(点击旁边的勾号)。
  • 你知道如何只选择被选中的单选按钮吗?
  • 反复尝试了代码,但是当我尝试 debug.writeline 来计算他找到了多少控件时,每次他给出 0 或 1。我确定面板有标签和单选按钮,因为我在运行此代码之前将它们放入面板中(面板在屏幕上显示控件)。也许有用:我使用纯编程代码添加这些单选按钮(单选按钮列表中的单选按钮),而不是使用 aspx
  • 您在任何时候都只能选中一个单选按钮,不是吗?所以它只会找到一个被选中的。
【解决方案2】:

终于找到答案了;

如果您想在回发等之后保留这些动态控件:

F.E.我,我使用 SelectedIndexChange 用动态控件填充我的面板。 我创建了另一个名为 laden() 的方法,我编写了代码来显示这些动态控件。 如果您希望这些控件传递回发等,只需将以下代码和平放入 Page_Load 方法中:

    if (Page.IsPostBack) {
        laden();
    }

Wich 的意思是,如果你得到一个回发,它会在回发后重新加载这些控件。 即使您在选定的文本框或单选按钮中插入了数据,它仍然会与回发之前相同,不会丢失数据。

享受吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多