将CSS添加到复选框

时间:2017-12-21 13:42:07

标签: html css asp.net webforms

我是.NET的新手,如果这是一个有点愚蠢的问题,请道歉。

我正在尝试使用服务器端复选框创建一个很酷的复选框,而不是input = checkbox标签:

<div runat="server" id="divCheckBoxContainer" style="padding-top:5px; padding-bottom:5px;" class="divCheckBoxContainer">
  <asp:Label runat="server" ID="Label1" Visible="false" EnableViewState="false" ViewStateMode="Disabled" />
  <asp:CheckBox runat="server" ID="CheckBox1" Width="100%" Height="18px" />
</div>

我已将标签设置为Visible = false,因为在代码隐藏中,我已将标签中的任何内容设置为ASP复选框的属性 当我使用app控件时:

<uc2:CheckBox runat="server" LabelWidth="450" Width="50" IsAlternatingRow="false" ID="TEST" Label="TEST TEST" />

1 个答案:

答案 0 :(得分:0)

您可以以

的方式将自己的属性添加到控件中
<ARB:AccessibleCheckbox ID="cstmCB1" Text="Tick for yes" ContainerCssClass="myTB" TabIndex="0" runat="server"></ARB:AccessibleCheckbox>

并使用类似

的内容引用代码隐藏中的属性值
<Bindable(True), Category("Appearance"), DefaultValue(""), Localizable(True)>
Property ContainerCssClass() As String
    Get
        Dim s As String = CStr(ViewState("ContainerCssClass"))
        If s Is Nothing Then
            Return String.Empty
        Else
            Return s
        End If
    End Get

    Set(ByVal Value As String)
        ViewState("ContainerCssClass") = Value
    End Set
End Property

然后你可以在渲染控件时使用它,比方说,

Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)

    Dim currIndent = writer.Indent

    writer.BeginRender()

    writer.AddAttribute(HtmlTextWriterAttribute.Class, Me.ContainerCssClass)
    writer.RenderBeginTag(HtmlTextWriterTag.Div)
    ' (rest of code here)