【问题标题】:ASP.NET c# - RadioButtons not groupedASP.NET c# - 单选按钮未分组
【发布时间】:2011-05-18 18:58:02
【问题描述】:

我有一个 GridView,在它的 OnRowDataBound 回调中我正在添加一个新单元格,我正在向该单元格添加一个 RadioButton。我已经在单选按钮上设置了 GroupName,但我仍然可以一次选择多个按钮。

如何将它们分组,以便在组中只能选择一个单选按钮。

编辑 - 这是我的代码:

    // Add the radio button to select if this purchased address
    // is set the the home address of the contact
    e.Row.Cells.AddAt(0, new TableCell());
    RadioButton rbSetAddress = new RadioButton();
    rbSetAddress.ID = "rdSetAddress" + e.Row.Cells[2].Text;
    rbSetAddress.GroupName = "SetAddress";
    e.Row.Cells[0].Controls.Add(rbSetAddress);

所以我设置了一个唯一的 ID 和相同的 GroupName。 ASP.NET 没有将输入的名称属性设置为 GroupName。所以我可以选择任意数量的单选按钮。这不是我想要发生的。我希望能够在由 GroupName 标识的组中选择一个且仅一个。

【问题讨论】:

    标签: c# asp.net-2.0 radio-button


    【解决方案1】:

    http://www.codeproject.com/KB/webforms/How_group_RButtons.aspx

    http://www.developer.com/net/asp/article.php/3623096/ASPNET-Tip-Using-RadioButton-Controls-in-a-Repeater.htm

    基本上,当在任何类型的中继器(GridView 是)中时,由于 asp.net 在中继器内命名事物的方式(基本上每个控件都获取使其唯一的前缀)。

    【讨论】:

    • 我不想要一个单元格中的整个列表。我想要每行一个按钮。
    • 您最终将不得不使用 javascript 来规范化我所知道的名称。像这样的麻烦是我改用 MVC 的原因。
    • 我使用了 javascript 选项。 MS有时是一群白痴。
    【解决方案2】:

    您确定要为代码隐藏中的单选按钮提供不同的名称吗?

    for (int i = 0; i < 10; i++)
                {
                    RadioButton rb = new RadioButton();
                    rb.ID = "rb"+i;
                    rb.GroupName="rbGroup";
                    GridView1.Rows[i].Cells[3].Controls.Add(rb);
                }
    

    【讨论】:

    • 我现在没有在单选按钮上设置任何东西,除了给他们所有相同的 GroupName。
    • 不,他需要 html 中的 相同 名称,这似乎是 asp.net 网络表单转发器做的不好。
    猜你喜欢
    • 2010-11-23
    • 2012-05-19
    • 2011-11-04
    • 2015-03-19
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    相关资源
    最近更新 更多