首页 > 代码库 > 把CheckBox的值封装成数组形式传递到第二个页面
把CheckBox的值封装成数组形式传递到第二个页面
前端我用repeater控件里装着一个CheckBox: <asp:CheckBox ID="cbx_Complete" runat="server" AutoPostBack="true" ValidationGroup=‘<%#Eval("MemberAddress_Id") %>‘/>;还有一个保存按钮,在repeater控件外的
后台第一个页面接收之后,封装数组的方式,写在按钮事件里面
string ids = "";
for (int i = 0; i < rptItems.Items.Count; i++)
{
//找到相应的Checkbox控件
CheckBox cb = (CheckBox)rptItems.Items[i].FindControl("cbx_Complete");
//获取id并连接成字符串,用,分隔
if (cb != null)
{
string selectedId = cb.ValidationGroup;
if (cb.Checked)
{
ids += selectedId + ",";
}
}
}
//处理末尾的,
if (ids.Contains(","))
{
ids = ids.Substring(0, ids.Length - 1);
}
跳转到第二个页面接收ID的方式:
分割数组:
string [] ids = Request.QueryString["id"].Split(‘,‘);
foreach (var item in ids)
{
string s = item.ToString();
if (s != "")
{
//去掉前缀
s = s.Replace("undefined", "\\");
int lenth = s.Length - s.LastIndexOf("\\") - 1;
s = s.Substring(s.LastIndexOf("\\") + 1, lenth);
}
此时s的值就是第一页传过来的ID了
把CheckBox的值封装成数组形式传递到第二个页面