【问题标题】:Adding CSS to a checkbox将 CSS 添加到复选框
【发布时间】:2017-12-21 13:42:06
【问题描述】:

我是 .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 复选框的属性 当我使用应用程序控件时:

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

【问题讨论】:

  • “服务器端复选框”是指自定义控件吗?
  • 是的,它是一个自定义控件

标签: html css asp.net webforms


【解决方案1】:

您可以将自己的属性添加到控件中

<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)

【讨论】:

    猜你喜欢
    • 2016-10-01
    • 2017-02-07
    • 2015-11-22
    • 2015-08-13
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多