一个checkboxlist控件,其中的item是从数据库中绑定的,id为cbl_sc,这段代码是在一个按钮提交事件里的,代码如下:
for (int i = 0; i < cbl_sc.Items.Count; i++)
{
int cou = 0;
if (cbl_sc.Items[i].Selected == true)
{
cou = cou+1;
TextBox tebsel = new TextBox();
tebsel.ID= "teb_sel "+cou;
tebsel.Width=200;
Label labsel = new Label();
labsel.ID = "lab_sel " + cou;
labsel.Text = " <br /> "+cbl_sc.Items[i].Text;
labsel.Font.Size = 9;
plh_selcontent.Controls.Add(labsel);
plh_selcontent.Controls.Add(tebsel);
}
}
我跟程序发现无论我是否选中了checkboxlist中的item,点按钮后返回的selected都是false,if中的代码都不执行,我知道checkbox的默认值是false,可是我在浏览器上选中checkbox了阿??请高手指点,谢谢:D
------解决方案--------------------------------------------------------
UP
------解决方案--------------------------------------------------------
ViewState
------解决方案--------------------------------------------------------
在page_load中的加载数据的时候没有放在IsPostBack中吧,应为:
if (!IsPostBack)
{
.............. checkboxlist的数据绑定、加载
}
------解决方案--------------------------------------------------------
"其中的item是从数据库中绑定的 "
你绑定是写在什么地方,是不是因为在点击BUTTON的时候又重新初始化了
------解决方案--------------------------------------------------------
在page_load中的加载数据的时候没有放在IsPostBack中吧
if (!IsPostBack)
{
.............. checkboxlist的数据绑定、加载
}
------解决方案--------------------------------------------------------
严重同意CathySun118(斯年)的意见
你做操作回调之后,又重置了checkboxlist,把邦定checkboxlist的方法放在if(!IsPostBack)里
------解决方案--------------------------------------------------------
这个问题,需要看checkboxlist产生绑定的时机、选中的时间,选中之后点击button之前,有没有做过别的操作
即使viewstate设置为false,看到页面上是选中状态,点击button(中间没有别的回传),应该也是能得到Selected的
lz不妨把你的前台html和绑定的代码摘一点儿看看
------解决方案--------------------------------------------------------
<%@ Page Language= "C# " EnableViewState= "true " %>
------解决方案--------------------------------------------------------
晕
------解决方案--------------------------------------------------------