【问题标题】:How to get the value of input type checkbox in RepeaterItems (ASP.NET)?如何在RepeaterItems(ASP.NET)中获取输入类型复选框的值?
【发布时间】:2018-09-06 05:43:53
【问题描述】:

我有按钮从数据库中删除消息,但我无法从 repeateritem 中的选中复选框中获取值。我怎样才能做到这一点? 这是我的 btndelete:

protected void btnDelete_Click(object sender, EventArgs e)
{
    foreach (RepeaterItem aItem in rptInbox.Items)
    {
        HtmlInputCheckBox chk = (HtmlInputCheckBox)aItem.FindControl("chkRow");

        if (chk.Checked == true)
        {
            string id = chk.Value.ToString();

            SqlConnection con = new SqlConnection(conStr);
            SqlCommand cmd = new SqlCommand("delete from mailbox where mailboxid='"+id+"'", con);
            try
            {
                con.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception er)
            {

            }
            finally
            {
                con.Close();
            }
        }
    }
}

这是我的html:

<asp:Repeater ID="rptInbox" runat="server">
    <ItemTemplate>
        <tr>
            <td><input type="checkbox" ID="chkRow" value='<%#Eval("mailboxid")%>' runat="server"/></td>
            <td><%#Eval("from") %></td>
            <td><a href="InboxDetail.aspx?MailboxId=<%#Eval("mailboxid") %>"><%#Eval("subject") %></a></td>
            <td><%#Eval("date") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater> 

【问题讨论】:

    标签: c# asp.net checkbox


    【解决方案1】:

    您可以将值存储在隐藏字段中:

    <asp:Repeater ID="rptInbox" runat="server">
        <ItemTemplate>
            <tr>
                <td>
                    <input type="checkbox" ID="chkRow" runat="server"/>
                    <input type="hidden" ID="hiddenMailBoxID" value='<%# Eval("mailboxid") %>' runat="server"/>
                </td>
                <td>
                    <%#Eval("from") %>
                </td>
                ...
            </tr>
        </ItemTemplate>
    </asp:Repeater> 
    

    并在代码隐藏中检索它:

    HtmlInputHidden hiddenMailBoxID = aItem.FindControl("hiddenMailBoxID") as HtmlInputHidden;
    string id = hiddenMailBoxID.Value;
    

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 2022-07-05
      • 1970-01-01
      相关资源
      最近更新 更多