checkboxlist与数组操作的小技巧
今天看到一个checkboxlist与数组结合用的技巧。
用户自定义控件.ascx页面有一个SqlDataSource数据源,还有一个Checkboxlist控件。下面来看看.cs里的关键代码了:
public string SelectedValue
{
get
{
string s = "";
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
s += CheckBoxList1.Items[i].Value + ",";
}
return s;
}
set
{
CheckBoxList1.DataBind();
string s = value;
string[] s_arr = s.Split(new char[] { ',' });//关键的部分哦
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
for (int j = 0; j < s_arr.Length - 1; j++)
{
if (CheckBoxList1.Items[i].Value == s_arr[j])
{
CheckBoxList1.Items[i].Selected = true;
break;
}
}
}
}
用的时候,把Checkboxlist里的东西转换成数组的时候的代码:
string[] act_arr = acts.SelectedValue.Split(new char[] { ',' });
呵呵,很优美的一段代码
用户自定义控件.ascx页面有一个SqlDataSource数据源,还有一个Checkboxlist控件。下面来看看.cs里的关键代码了:
public string SelectedValue
{
get
{
string s = "";
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
s += CheckBoxList1.Items[i].Value + ",";
}
return s;
}
set
{
CheckBoxList1.DataBind();
string s = value;
string[] s_arr = s.Split(new char[] { ',' });//关键的部分哦
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
for (int j = 0; j < s_arr.Length - 1; j++)
{
if (CheckBoxList1.Items[i].Value == s_arr[j])
{
CheckBoxList1.Items[i].Selected = true;
break;
}
}
}
}
用的时候,把Checkboxlist里的东西转换成数组的时候的代码:
string[] act_arr = acts.SelectedValue.Split(new char[] { ',' });
呵呵,很优美的一段代码