'
' DotNetNuke® - http://www.dotnetnuke.com
' Copyright (c) 2002-2007
' by DotNetNuke Corporation
'
' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
' documentation files (the "Software"), to deal in the Software without restriction, including without limitation
' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
' to permit persons to whom the Software is furnished to do so, subject to the following conditions:
'
' The above copyright notice and this permission notice shall be included in all copies or substantial portions
' of the Software.
'
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
' TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
' THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
' CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
' DEALINGS IN THE SOFTWARE.
'
Imports
System
Imports
System.Drawing
Imports
System.Reflection
Imports
System.Web.UI
Imports
System.Web.UI.WebControls
Imports
System.IO
Imports
DotNetNuke.Common.Globals
Imports
DotNetNuke.Common.Utilities
Imports
DotNetNuke.Services.Localization
Namespace
DotNetNuke.UI.WebControls''' -----------------------------------------------------------------------------
''' Namespace: DotNetNuke.UI.WebControls
''' Project: DotNetNuke
''' Class: CommandButton
''' -----------------------------------------------------------------------------
''' <summary>
''' The CommandButton Class provides an enhanced Button control for DotNetNuke
''' </summary>
''' <remarks>
''' </remarks>
''' <history>
''' [cnurse] 01/06/2006 Created
''' [mathisjay] 07/23/2007 Rewritten to implement IButtonControl interface
''' </history>
''' -----------------------------------------------------------------------------
<ToolboxData(
#
"<{0}:CommandButton runat=server></{0}:CommandButton>")> _Public Class CommandButtonInherits CompositeControlImplements IButtonControlRegion "Controls"
#
Private link As New LinkButtonPrivate iconLink As New LinkButtonPrivate icon As New System.Web.UI.WebControls.ImagePrivate spacer As New LiteralControl(" ")End Region
#
Region "Private Members"
Private _onClick As String
Private _resourceKey As String
#
End Region
#
Region "Interface Methods"
Public Property CommandName() As String Implements IButtonControl.CommandNameGet
Me.EnsureChildControls()Return link.CommandNameEnd Get
iconLink.CommandName = Value
link.CommandName = Value
Set(ByVal Value As String)Me.EnsureChildControls()End Set
End Property
Public Property Text() As String Implements IButtonControl.TextGet
Me.EnsureChildControls()Return link.TextEnd Get
iconLink.ToolTip = Value
link.Text = Value
link.ToolTip = Value
Set(ByVal Value As String)Me.EnsureChildControls()End Set
End Property
Public Property CommandArgument() As String Implements IButtonControl.CommandArgumentGet
Me.EnsureChildControls()Return link.CommandArgumentEnd Get
iconLink.CommandArgument = Value
link.CommandArgument = Value
Set(ByVal Value As String)Me.EnsureChildControls()End Set
End Property
Public Property PostBackUrl() As String Implements IButtonControl.PostBackUrlGet
Me.EnsureChildControls()Return link.PostBackUrlEnd Get
iconLink.PostBackUrl = Value
link.PostBackUrl = Value
Set(ByVal Value As String)Me.EnsureChildControls()End Set
End Property
Public Property CausesValidation() As Boolean Implements IButtonControl.CausesValidationGet
Me.EnsureChildControls()Return link.CausesValidationEnd Get
iconLink.CausesValidation = Value
link.CausesValidation = Value
Set(ByVal Value As Boolean)Me.EnsureChildControls()End Set
End Property
Public Property ValidationGroup() As String Implements IButtonControl.ValidationGroupGet
Me.EnsureChildControls()Return link.ValidationGroupEnd Get
iconLink.ValidationGroup = Value
link.ValidationGroup = Value
Set(ByVal Value As String)Me.EnsureChildControls()End Set
End Property
#
End Region
#
Region "Interface Events"
Public Custom Event Click As EventHandler Implements IButtonControl.ClickAddHandler(ByVal value As EventHandler)AddHandler link.Click, valueAddHandler iconLink.Click, valueEnd AddHandler
RemoveHandler(ByVal value As EventHandler)RemoveHandler link.Click, valueRemoveHandler iconLink.Click, valueEnd RemoveHandler
RaiseEvent(ByVal sender As Object, ByVal e As System.EventArgs)End RaiseEvent
End Event
#
Private Event Command As CommandEventHandler Implements IButtonControl.CommandEnd Region
#
Region "Public Properties"
Public ReadOnly Property ButtonUniqueID() As String
Get
If DisplayLink Then
Return link.UniqueIDElse
If DisplayIcon Then
Return iconLink.UniqueIDElse
Return Null.NullStringEnd If
End If
End Get
End Property
Public Property DisplayLink() As Boolean
Get
Me.EnsureChildControls()Return link.VisibleEnd Get
link.Visible = Value
Set(ByVal Value As Boolean)Me.EnsureChildControls()End Set
End Property
Public Property DisplayIcon() As Boolean
Get
Me.EnsureChildControls()Return iconLink.VisibleEnd Get
iconLink.Visible = Value
spacer.Visible = Value
Set(ByVal Value As Boolean)Me.EnsureChildControls()End Set
End Property
Public Property ImageUrl() As String
Get
Me.EnsureChildControls()Return icon.ImageUrlEnd Get
icon.ImageUrl = Value
Set(ByVal Value As String)Me.EnsureChildControls()End Set
End Property
Public Property OnClick() As String
Get
Me.EnsureChildControls()Return link.Attributes.Item("onclick")End Get
Set(ByVal Value As String)Me.EnsureChildControls()If Value = "" Then
iconLink.Attributes.Remove(
link.Attributes.Remove(
"onclick")"onclick")Else
iconLink.Attributes.Add(
link.Attributes.Add(
"onclick", Value)"onclick", Value)End If
End Set
End Property
Public Property ResourceKey() As String
Get
Me.EnsureChildControls()Return link.Attributes.Item("resourcekey")End Get
Set(ByVal Value As String)Me.EnsureChildControls()If Value = "" Then
icon.Attributes.Remove(
link.Attributes.Remove(
"resourcekey")"resourcekey")Else
icon.Attributes.Add(
link.Attributes.Add(
"resourcekey", Value)"resourcekey", Value)End If
End Set
End Property
#
End Region
#
Region "Protected Methods"
Protected Overrides Sub CreateChildControls()'Add IconLink
iconLink.Controls.Add(icon)
Me.Controls.Add(iconLink)Me.Controls.Add(spacer)'Add LinkButton
Me.Controls.Add(link)If DisplayIcon = True And ImageUrl <> "" Then
iconLink.EnableViewState =
icon.EnableViewState =
Me.EnableViewStateMe.EnableViewStateEnd If
If DisplayLink Then
If CssClass = "" Then CssClass = "CommandButton"
link.CssClass = CssClass
link.EnableViewState =
Me.EnableViewStateEnd If
End Sub
#
End Region
End
End Class Namespace