0

この 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 コントロールは多くのカスタマイズ オプションを提供していないようです。

前もって感謝します !

4

1 に答える 1

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
于 2012-11-21T18:06:09.870 に答える