如何在datalist中获得无线电的价值?

时间:2013-10-27 09:29:44

标签: asp.net sql radio-button

我有一个这样的数据列表:

<asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#CC9966"
        BorderStyle="None" BorderWidth="1px" CellPadding="4" GridLines="Both" RepeatColumns="3"
        onitemdatabound="DataList1_ItemDataBound">
        <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
        <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
        <ItemStyle BackColor="White" ForeColor="#330099" />
        <ItemTemplate>
            <table>
                <tr>
                    <td style="width:10px">
                        <asp:RadioButton ID="rd_CS" runat="server" GroupName="Casi" 
                         oncheckedchanged="rd_CS_CheckedChanged" Text='<%# Eval("Key")%>'></asp:RadioButton>
                    </td>
                    <td>
                        <asp:Image ID="Img_Nhacsi" runat="server" ImageUrl='<%#Eval("Hinhanh")%>' Width="75px"
                            Height="75px" BorderColor="#66FF33" />
                    </td>
                    <td>
                        <asp:Label ID="lbl_Ten" runat="server" Text='<%#Eval("Name")%>'></asp:Label>
                    </td>
                    <td>
                        <asp:Label ID="lbl_Ngaysinh" runat="server" Text='<%#Eval("Birthdate")%>'></asp:Label>
                    </td>
                    <td>
                        <asp:Label ID="Label2" runat="server" Text='<%#Eval("Country")%>'></asp:Label>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
        <SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
    </asp:DataList>

我在页面中提交了一个按钮。单击提交按钮时如何获取选中单选按钮的文本?任何帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

您使用Request.Form["rdGroup"]获取值。

如果您想在数据列表的上下文中获取它,那么使用当前代码是不可能的。您需要将runat="server"添加到单选按钮,然后您可以遍历项目并使用Find方法获取对单选按钮控件的引用。

答案 1 :(得分:0)

可能你需要这样的东西(Credit转到Guffa):

string myRadioText = String.Empty;

foreach (DataListItem item in DataList1.Items)    
{    
    RadioButton rd_CS = (RadioButton)item.FindControl("rd_CS");

    if(rd_CS != null && rd_CS.Checked)
    {
        myRadioText = rd_CS.Text;
    }    
}