simplerotator3.vb

来自「asp.net技术内幕的书配源码」· VB 代码 · 共 51 行

VB
51
字号
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Collections

Namespace myControls

' Declare Custom Control Builder
Public Class SimpleRotator3ControlBuilder : Inherits ControlBuilder
  Public Overrides Function GetChildControlType( TagName As String, Attributes As IDictionary ) As Type
    If TagName = "RotatorItem3"
      Return GetType( RotatorItem3 )
    End If
    Return Nothing
  End Function
End Class


' Declare SimpleRotator
<ControlBuilderAttribute(GetType( SimpleRotator3ControlBuilder))> _
Public Class SimpleRotator3: Inherits Control

  Public Items As New ArrayList()

  ' Exclude Everything but RotatorItem controls
  Protected Overrides Sub AddParsedSubObject( Obj As Object )
    If ( TypeOf Obj Is RotatorItem3 )
      Items.Add(Obj)
    End If
  End Sub

  Protected Overrides Sub Render( objTextWriter As HtmlTextWriter)
    Dim objRandom As New Random
    Dim intRanIndex As Integer
    Dim objSelectedItem As RotatorItem3

    If Items.Count > 0 Then
      intRanIndex = objRandom.Next( Items.Count )
      objSelectedItem = CType( Items( intRanIndex ), RotatorItem3 )
      objTextWriter.Write( objSelectedItem.Text )
    End If
  End Sub
End Class

' Declare Rotator Item
Public Class RotatorItem3 : Inherits Control
 Public Text As String
End Class

End Namespace

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?