ButtonDesigner.GetDesignTimeHtml Method ()
Assembly: System.Design (in system.design.dll)
The GetDesignTimeHtml method replaces the Text property with the ID property of the Button control if the Text contains no displayable characters. Then, the GetDesignTimeHtml method calls its base method, ControlDesigner.GetDesignTimeHtml, which calls into the Control.RenderControl method to generate the markup.
Notes to Inheritors If you are overriding the GetDesignTimeHtml method, typically you will modify selected property values, then call the base method to generate the markup, and then restore the properties to their original values.The following code example demonstrates how to override the GetDesignTimeHtml method to change the generated markup.
If the BorderStyle property has not been set previously (that is, it has the NotSet field value), a call to the GetDesignTimeHtml method sets it to a blue-dashed border with a width of three pixels, and then displays that border on the design surface. If the BorderStyle property has been set, the existing border property values are displayed.
Typically, the GetDesignTimeHtml calls its base method, ControlDesigner.GetDesignTimeHtml, which calls into the Control.RenderControl method of the associated control to generate the markup.
' Create a class that derives from ButtonDesigner ' and displays the custom SampleButton control ' on the design surface. Imports System Imports System.Web.UI.Design Imports System.Drawing Imports System.ComponentModel Imports System.Web.UI.WebControls Imports System.Web.UI.Design.WebControls Namespace Examples.AspNet Public Class SampleButtonDesigner Inherits ButtonDesigner ' Override the GetDesignTimeHtml method. Public Overrides Function GetDesignTimeHtml() As String Dim sampleButton As SampleButton = CType(Component, SampleButton) Dim designTimeHtml As String = Nothing ' Check the control's BorderStyle property ' to conditionally render design-time HTML. If (sampleButton.BorderStyle = BorderStyle.NotSet) Then ' Create variables to hold current property settings. Dim oldBorderStyle As BorderStyle = sampleButton.BorderStyle Dim oldBorderWidth As Unit = sampleButton.BorderWidth Dim oldBorderColor As Color = sampleButton.BorderColor ' Set properties and the design-time HTML. Try sampleButton.BorderStyle = BorderStyle.Dashed sampleButton.BorderWidth = Unit.Pixel(3) sampleButton.BorderColor = Color.Blue designTimeHtml = MyBase.GetDesignTimeHtml() ' If an exception occurs, call the GetErrorDesignTimeHtml ' method. Catch ex As Exception designTimeHtml = GetErrorDesignTimeHtml(ex) ' Return properties to their original settings. Finally sampleButton.BorderStyle = oldBorderStyle sampleButton.BorderWidth = oldBorderWidth sampleButton.BorderColor = oldBorderColor End Try Else designTimeHtml = MyBase.GetDesignTimeHtml() End If Return designTimeHtml End Function End Class End Namespace
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Reference
ButtonDesigner ClassButtonDesigner Members
System.Web.UI.Design.WebControls Namespace
Button
ControlDesigner.GetDesignTimeHtml
RenderControl
Button
Other Resources
ASP.NET Control Designers OverviewWalkthrough: Creating a Basic Control Designer for a Web Server Control
Walkthrough: Creating a Basic Control Designer for a Web Server Control