
asp:CheckBoxList绑定数据与修改
前台代码<asp:CheckBoxListrunat="server"id="insure_type"></asp:CheckBoxList>后台Page_Load中wh...
前台代码<asp:CheckBoxList runat = "server" id ="insure_type"></asp:CheckBoxList>
后台Page_Load中
while (reader.Read())
{
insure_type.Items.Add(new ListItem(reader[1].ToString(), reader[0].ToString()));
}
//result 是数组
for (int i = 0; i < result.Length; i++) {
if (!result[i].Equals("") && result[i]!=null)
{
insure_type.Items.FindByValue(result[i]).Selected = true;
}
}
//提交表单后再login_submit_Click中
string insure_type1 = “”;
for (int i = 0; i < this.insure_type.Items.Count; i++)
{
if (this.insure_type.Items[i].Selected)
{
insure_type1 += this.insure_type.Items[i].Value + ",";
}
}
如果没有在Page_Load中设定为.Selected = true;的选项选可以在提交后正常获取是否选中,但是设定为true的,在提交后无论在页面中是否把勾选去掉都是选中状态。
有没有处理方法?谢谢 展开
后台Page_Load中
while (reader.Read())
{
insure_type.Items.Add(new ListItem(reader[1].ToString(), reader[0].ToString()));
}
//result 是数组
for (int i = 0; i < result.Length; i++) {
if (!result[i].Equals("") && result[i]!=null)
{
insure_type.Items.FindByValue(result[i]).Selected = true;
}
}
//提交表单后再login_submit_Click中
string insure_type1 = “”;
for (int i = 0; i < this.insure_type.Items.Count; i++)
{
if (this.insure_type.Items[i].Selected)
{
insure_type1 += this.insure_type.Items[i].Value + ",";
}
}
如果没有在Page_Load中设定为.Selected = true;的选项选可以在提交后正常获取是否选中,但是设定为true的,在提交后无论在页面中是否把勾选去掉都是选中状态。
有没有处理方法?谢谢 展开
1个回答
展开全部
在Load事件加载checkboxlist的时候前加判断if (!IsPostBack){}
因为你提交表达页面会回发,重新加载一次页面,
这个判断就是为了回发的时候不再重新加载checkboxlist,这样的是否打勾的信息就会保存下来
因为你提交表达页面会回发,重新加载一次页面,
这个判断就是为了回发的时候不再重新加载checkboxlist,这样的是否打勾的信息就会保存下来
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询