【发布时间】:2014-08-13 00:43:00
【问题描述】:
我已经构建了一个自定义控件类,这使得在我的 html 中构建侧边栏元素变得更加容易。
我遇到的问题是,当我设置“文本”属性时,我最后一次设置它被用于我页面上控件的每个实例。这是我第一次这样做,所以我假设我缺少一些基本的东西。
Namespace CustomControl
Public Class SideBarElement : Inherits Literal
''' <summary>
''' Create Copyright Label
''' </summary>
''' <remarks></remarks>
Protected Overrides Sub CreateChildControls()
MyBase.Text = RenderHTML()
MyBase.CreateChildControls()
End Sub
''' <summary>
''' Set all copyright information.
''' </summary>
Public Shared Function RenderHTML() As String
Dim val As String
val = "<div class=""side-bar-container"">" & _
"<div class=""side-bar-top"">" & _
"</div>" & _
" <div class=""side-bar-content"">" & _
_Text & _
"</div>" & _
"<div class=""side-bar-bottom"">" & _
"</div>" & _
"</div>"
Return val
End Function
''' <summary>
''' Create Text Property
''' </summary>
''' <remarks></remarks>
Private Shared _Text As String = String.Empty
Public Shadows Property Text() As String
Get
Return _Text
End Get
Set(ByVal value As String)
_Text = value
End Set
End Property
End Class
结束命名空间
使用这个控件应该是这样的。
<sidebar:SideBarElement ID="SideBarElement1" runat="server">
Bla Bla</br>My Fun Content.</sidebar:SideBarElement>
任何帮助将不胜感激。
【问题讨论】:
标签: asp.net vb.net custom-controls