日期:2014-05-19  浏览次数:20609 次

checkboxlist选中了,为什么selectde还为false(已经上网查过了,但是没解决)
一个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 " %>
------解决方案--------------------

------解决方案--------------------