【问题标题】:How to get value of radio in datalist?如何在数据列表中获取收音机的价值?
【发布时间】:2013-10-28 09:31:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net sql radio-button


    【解决方案1】:

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

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

    【讨论】:

    • 你能告诉我如何获取数据列表中单选按钮的检查值吗?
    • @AnhNguyen:这就是我试图做的。您对我给您的答案有疑问吗?
    • @@Guffa:我使用 datalist 中的单选按钮而不是使用类型输入作为上面的代码得到了解决方案,但是在尝试获取选中的单选按钮的值时我仍然遇到问题。如果您能给我一个示例代码来获取 datalist 中选中的单选按钮的值,那就太好了。谢谢。
    • @AnhNguyen:单选按钮控件始终是服务器控件。您需要在 HTML 元素中添加 runat="server" 以使其成为服务器控件,以便您可以在服务器代码中访问它。否则它将只是项目内LiteralControl 中字符串的一部分。
    • @@Guffa 我在上面编辑了代码。您可以再次检查并在我的第二条评论中回答问题吗?如果您能给我一个示例代码,那就太好了。谢谢。
    【解决方案2】:

    您可能需要这样的东西(感谢 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;
        }    
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-29
      • 2011-08-09
      • 2013-10-20
      • 1970-01-01
      • 2021-08-08
      • 2013-04-14
      • 2020-08-11
      • 2016-03-11
      • 1970-01-01
      相关资源
      最近更新 更多