【发布时间】:2012-11-21 17:45:01
【问题描述】:
我有这个 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;}
事件在数据库中存储并刷新页面后,选中的复选框被禁用,但它显示勾选/复选框,如果选中,我不希望它显示。
任何人都有想法。搜索了很多,但是似乎 CheckBoxList 控件并没有提供太多的自定义选项。
提前谢谢你!
【问题讨论】:
标签: asp.net checkbox checkboxlist