【问题标题】:Remove tick/check box from ASP.NET Checkbox control从 ASP.NET Checkbox 控件中删除勾选/复选框
【发布时间】: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


    【解决方案1】:

    如果您想从复选框列表中删除复选框,请在 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
    

    【讨论】:

    • 您好 KLP,感谢您抽出宝贵时间。不,我不想从复选框列表中删除复选框,只是希望当用户单击它时,勾选/复选框不会出现在用户单击的复选框上。
    猜你喜欢
    • 2021-12-07
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多