ASP.Net CheckBoxList值插入数据库

时间:2014-07-11 19:58:17

标签: c# asp.net sql-server checkboxlist

我在ASP.Net中创建了一个checkboxList,每个复选框都与一个值相关联。我的问题是,我有一个SQL Server数据库和一个名为Plans的表,这个表包含一个名为DeductiblePlans的列,当有人检查0计划时,如果选择了两个计划,它的值(1)应该插入数据库中将插入两个记录,依此类推。

我的背景是Windows应用程序,我真的不知道如何获取从ASPX文件中选择的值并将其插入数据库。最有效的方法是什么?如果我能看到一个例子,我将不胜感激。

Default.aspx的

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="scripts/jquery-1.4.3.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        function btnShow_onclick() {
            $("#spnLabels").text("");
            $("#spnValues").text("");

            var labels = "";
            var values = "";

            $("#<%= CheckBoxList1.ClientID %> input:checkbox:checked").each(function () {
                var label = $('label[for=' + this.id + ']').html();
                var value = $(this).parent().attr('hiddenValue');

                labels += label + "";
                values += value + ", ";

            });

            labels = labels.substring(0, labels.length);
            values = values.substring(0, values.length - 2);

            $("#spnLabels").text(labels);
            $("#spnValues").text(values);
        }

    </script>

</head>
<body>
    <form id="form1" runat="server">
        <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" Width="870px" Height="139px">
            <asp:ListItem Text="$0 Plan" Value="1" />
            <asp:ListItem Text="$100 Plan" Value="2" />
            <asp:ListItem Text="$150 Plan" Value="3" />
            <asp:ListItem Text="$250 Plan" Value="4" />
            <asp:ListItem Text="$500 Plan" Value="5" />
            <asp:ListItem Text="$750 Plan" Value="6" />
            <asp:ListItem Text="$1000 Plan" Value="7" />
            <asp:ListItem Text="$1500 Plan" Value="8" />
            <asp:ListItem Text="$2000 Plan" Value="9" />
            <asp:ListItem Text="$2500 Plan" Value="10" />
            <asp:ListItem Text="$3000 Plan" Value="11" />
            <asp:ListItem Text="$4000 Plan" Value="12" />
        </asp:CheckBoxList>
        <br />

        <asp:LinkButton ID="lbAll" runat="server" OnClick="lbAll_Click">Select All</asp:LinkButton>
        <br />
        <br />

        <input id="btnShow" type="button" value="Show Selected Items" onclick="return btnShow_onclick()" />
        <br />
        <br />
        <br />
        <span id="spnLabels"></span>
        <br />
        <br />
        <span id="spnValues"></span>
        <br />
    </form>
</body>
</html>

Default.ASPX.CS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        foreach (ListItem item in CheckBoxList1.Items)
        {
            item.Attributes.Add("hiddenValue", item.Value);
        }         
    }
    protected void lbAll_Click(object sender, EventArgs e)
    {
        foreach (ListItem li in CheckBoxList1.Items)
        {
            li.Selected = true;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

protected void SubmitBtn_Click(object sender, EventArgs e)
{
    foreach(ListItem li in CheckBoxList1.items)
    {
        if(li.Selected)
        {
            //insert to database, the value is in item.Value
        }
    }
}

只需循环浏览并查看所选内容。它与Win Forms没有什么不同。