我是.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" />
答案 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)