Coolite动态加载CheckboxGroup,无法在后台中获取

Coolite在后台动态加载CheckboxGroup,页面显示都正常,但是在后台去获取选中的checkbox时,使用下方法:

 

         ///   <summary>
        
///  获取所选权限
        
///   </summary>
        
///   <returns></returns>
         private   string  GetPermissionValue()
        {
            
string  str  =   string .Empty;

            cbgPermission.CheckedItems.ForEach(
delegate (Checkbox checkbox)
            {
                
if  ( string .IsNullOrEmpty(str))
                    str 
=  checkbox.ID;
                
else
                    str 
+=   " , "   +  checkbox.ID;
            });
            
return  str;
}

 

跟踪后发现获取的cbgPermission.CheckedItems一直为0.

 

解决方法:

可是是Coolite页面加载的问题,将动态加载checkbox的方法

 

ExpandedBlockStart.gif 代码
         ///   <summary>
        
///  绑定系统所有权限
        
///   </summary>
         private   void  PartBinder()
        {
            IList
< SystemPermission >  parts  =  SystemPermissionBLL.GetALL( " ParentCode='0' " " Code " );
            
if  (parts  !=   null   &&  parts.Count  >   0 )
            {
                
foreach  (SystemPermission part  in  parts)
                {
                    CheckboxColumn col 
=   new  CheckboxColumn();
                    col.ID 
=   " CheckboxColumn "   +  part.SPId;
                    col.ColumnWidth 
=  Convert.ToDouble( 0.33 );
                    Checkbox checkbox 
=   new  Checkbox();
                    checkbox.ID 
=  part.Code;
                    checkbox.IDMode 
=  IDMode.Explicit;
                    checkbox.BoxLabel 
=  part.Name;
                    checkbox.Checked 
=   true ;
                    col.Items.Add(checkbox);
                    IList
< SystemPermission >  items  =  SystemPermissionBLL.GetALL( " ParentCode=' "   +  part.Code  +   " ' " " Code " );
                    
if  (items.Count  >   0   &&  items  !=   null )
                    {
                        
foreach  (SystemPermission item  in  items)
                        {
                            Checkbox checkboxChild 
=   new  Checkbox();
                            checkboxChild.ID 
=  item.Code;
                            checkboxChild.BoxLabel 
=  item.Name;
                            col.Items.Add(checkboxChild);
                        }
                    }
                    cbgPermission.Items.Add(col);
                }
            }
        }

 

 

放入到重写的页面createChildControl中去,而不是放在pageload中。

 

         protected   override   void  CreateChildControls()
        {
            PartBinder();
            
base .CreateChildControls();
        }

 

完成

转载于:https://www.cnblogs.com/hayden/archive/2010/07/09/1774377.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值