将CSS添加到复选框

问题描述 投票:0回答:1

我是一个.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,因为在代码隐藏中,当我使用app控件时,我已将标签中的任何内容设置为ASP复选框的属性:

<uc2:CheckBox runat="server" LabelWidth="450" Width="50" IsAlternatingRow="false" ID="TEST" Label="TEST TEST" />
html css asp.net webforms
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.