从ASP.NET复选框控件中删除勾选/复选框

时间:2012-11-21 17:45:01

标签: asp.net checkbox checkboxlist

我有这个CheckBoxList控件,并且它的每个ListItem都将Text属性设置为img HTML标记,以便显示图像。

当我点击每个项目时,我试图从ASP.NET CheckBoxList控件的复选框中删除勾选/复选框。

我的代码执行此操作。每次我点击某个复选框时, SelectedIndexChanged 事件都会启动,它会在我的数据库中保存一些数据。当保存完成并刷新页面时,我想检查/勾选已单击的复选框项目不再存在,并禁用复选框,因为我不希望用户能够单击它再次。我试图尝试将Enable和Selected属性设置为False,并且还向CheckboxList控件添加属性,但没有成功。这是我的代码。

<asp:CheckBoxList ID="Services" runat="server" RepeatColumns="5" CellPadding="10"             
CellSpacing="15" RepeatLayout="Table" 
                         Font-Size="Large" RepeatDirection="Vertical" TextAlign="Right" 
AutoPostBack="true" EnableViewState="true">

<asp:ListItem Value="Facebook" Text="<img src='/ServiceIcons/facebook.png'  
title='Facebook' />" />
<asp:ListItem Value="Googleplus" Text="<img src='/ServiceIcons/googleplus.png' 
title='Google+' />" />
<asp:ListItem Value="LinkedIn" Text="<img src='/ServiceIcons/linkedin.png' 
title='LinkedIn' />" />
<asp:ListItem Value="RSS" Text="<img src='/ServiceIcons/rss.png' title='RSS' />" />
<asp:ListItem Value="Skype" Text="<img src='/ServiceIcons/skype.png' title='Skype' />" 
/>

</asp:CheckBoxList>

在我背后的代码中我这样做:

  Private Sub Services_SelectedIndexChanged(ByVal sender As Object, ByVal e As 
  System.EventArgs) Handles Services.SelectedIndexChanged

       -----Storing to database code here------

        Services.Items(Services.SelectedIndex).Enabled = False
        Services.Items(Services.SelectedIndex).Attributes.Add("class", 
        "displayCheckBox")
        Services.Items(Services.SelectedIndex).Selected = False


  End Sub

这里的css课程:

  .displayCheckBox input{display:none;}

在事件确实存储在数据库中并且页面被刷新后,选中的复选框被禁用但它显示勾选/复选框,如果被选中,我不希望它显示它。 / p>

任何人都有自己的想法。我搜索了很多,但似乎CheckBoxList控件没有提供太多的costumizing选项。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果您想要从复选框列表中删除复选框,请在SelectedIndexChanged事件中尝试以下操作:

Private Sub Services_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Services.SelectedIndexChanged

    '-----Storing to database code here------

    Services.Items.RemoveAt(Services.SelectedIndex)
End Sub