我在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;
}
}
}
答案 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没有什么不同。