[asp.net] 设置与获取CheckBoxList多选的值

出处:http://www.cnblogs.com/greatverve/archive/2009/12/11/1621696.html

View Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SetGetCheckBoxList.aspx.cs" Inherits="SetGetCheckBoxList" %>
<!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>如何设置与获取CheckBoxList多选的值。</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="chkList" runat="server">
<asp:ListItem Value="0">zero</asp:ListItem>
<asp:ListItem Value="1">one</asp:ListItem>
<asp:ListItem Value="2">two</asp:ListItem>
</asp:CheckBoxList>
<asp:Button ID="btnSet" runat="server" Text="Set" OnClick="btnSet_Click" />
<asp:Button ID="btnGet" runat="server" Text="Get" OnClick="btnGet_Click" />
</div>
</form>
</body>
</html>
View Code
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class SetGetCheckBoxList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnSet_Click(object sender, EventArgs e)
{
foreach (ListItem li in chkList.Items)
{
if (li.Value == "0")
{
li.Selected = true;
continue;
}
if (li.Value == "1")
{
li.Selected = true;
continue;
}
}
}
protected void btnGet_Click(object sender, EventArgs e)
{
string chkSelect = "";
for (int i = 0; i < chkList.Items.Count; i++)
{
if (chkList.Items[i].Selected == true)
chkSelect += chkList.Items[i].Value + ",";
}
if (chkSelect != "")
chkSelect = chkSelect.Substring(0, chkSelect.Length - 1);
else
chkSelect = "";
Response.Write("<script>alert('选中的值为:" + chkSelect + "')</script>");
}
}


个人写法:

View Code
            热卖商品/推荐商品:<asp:CheckBoxList ID="cbFlag" runat="server">
<asp:ListItem Text="热卖商品" Value="h"></asp:ListItem>
<asp:ListItem Text="推荐商品" Value ="t"></asp:ListItem>
</asp:CheckBoxList>

保存写入:

View Code
string str="";
for (int i = 0; i < cbFlag.Items.Count; i++)
{
if (cbFlag.Items[i].Selected)
{
str += cbFlag.Items[i].Value + ",";
}
}

pd.Flag = str;

读取显示:

View Code
            string[] str= pd.Flag.Split(',');

foreach (ListItem li in cbFlag.Items)
{
for (int i = 0; i < str.Length; i++)
{
if (str[i].ToString() == "h")
{
li.Selected = true;
}
if (str[i] == "t")
{
li.Selected = true;
}
}//for end
}





 

原文地址:https://www.cnblogs.com/ishibin/p/2364426.html