从Repeater内的单选按钮获取所选单选按钮列表值

时间:2011-07-15 04:21:57

标签: asp.net repeater radiobuttonlist

我在转发器中有一个radiobuttonlist。我正在展示这个样子的截图。我在转发器的标头模板中有列标题。在项目模板中,我有4个字段/列。第3个字段是单选按钮列表。例如,如果我在“测试任务2”行中选择“是”单选按钮 - 我需要回发并保存该记录的值(返回数据库)。我的转发器可能会显示许多行字段和单选按钮列表。

screenshot

3 个答案:

答案 0 :(得分:3)

试试这个


protected void btnSave_Click(object sender, EventArgs e)
    {
        foreach (RepeaterItem item in Repeater1.Items)
        {
            // Checking the item is a data item
            if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
            {
                var rdbList = item.FindControl("RadioButtonList1") as RadioButtonList;
                // Get the selected value
                string selected = rdbList.SelectedValue;
            }
        }
    }

答案 1 :(得分:0)

if (Repeater1.Items.Count > 0)
{
    for (int count = 0; count < Repeater1.Items.Count; count++)
    {
        RadioButton rd1 = (RadioButton )Repeater1.Items[count].FindControl("ID1");
        RadioButton rd2 = (RadioButton )Repeater1.Items[count].FindControl("ID2");
        RadioButton rd3 = (RadioButton )Repeater1.Items[count].FindControl("ID3");
        if (rd1.Checked)
        {

        }
        if (rd2.Checked)
        {

        }
       if (rd3.Checked)
        {

        }
    }
}

答案 2 :(得分:0)

我在gridview中使用过这样的东西,希望这可以帮助你 让我们考虑一下我们有2个按钮

<asp:RadioButton ID="rb_Yes" runat="server" GroupName="GpName" Text="Yes" OnCheckedChanged="rb_Yes_Click" AutoPostBack="true" />
<asp:RadioButton ID="rb_No" runat="server" GroupName="GpName" Text="No" OnCheckedChanged="rb_No_Click" AutoPostBack="true"/>

只需使用oncheckedChanged事件进行回发 并且.cs页面使用这样的代码我相信这可以帮助你

protected void rb_Yes_Click(object sender, EventArgs e)
{ 
    RadioButton rb_Yes = (RadioButton)sender;
    GridViewRow grid_row = (GridViewRow)rb_Yes.NamingContainer;
    if(((RadioButton)grid_row.FindControl("rb_Yes")).Checked==true)
    {
//Action that you want to implement
    }
}

希望这可以帮到你