我有这个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选项。
提前谢谢!
答案 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