HyperLinkDesigner.GetDesignTimeHtml Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the markup that is used to render the associated control at design time.
public:
override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String
Returns
A string containing the markup used to render the associated hyperlink control at design time.
Examples
The following code example shows how to derive the CustomHyperLinkDesigner
class from the HyperLinkDesigner class. It overrides the GetDesignTimeHtml method to supply a default value for the Text property if the original value for Text is an empty string (""). This ensures that the associated control will be visible at design time.
This code example is part of a larger example provided for the HyperLinkDesigner class.
// Derive the CustomHyperLinkDesigner from the HyperLinkDesigner.
public class CustomHyperLinkDesigner : HyperLinkDesigner
{
// Override the GetDesignTimeHtml to set the CustomHyperLink Text
// property so that it displays at design time.
public override string GetDesignTimeHtml()
{
CustomHyperLink hype = (CustomHyperLink)Component;
string designTimeMarkup = null;
// Save the original Text and note if it is empty.
string text = hype.Text;
bool noText = (text.Trim().Length == 0);
try
{
// If the Text is empty, supply a default value.
if (noText)
hype.Text = "Click here.";
// Call the base method to generate the markup.
designTimeMarkup = base.GetDesignTimeHtml();
}
catch (Exception ex)
{
// If an error occurs, generate the markup for an error message.
designTimeMarkup = GetErrorDesignTimeHtml(ex);
}
finally
{
// Restore the original value of the Text, if necessary.
if (noText)
hype.Text = text;
}
// If the markup is empty, generate the markup for a placeholder.
if(designTimeMarkup == null || designTimeMarkup.Length == 0)
designTimeMarkup = GetEmptyDesignTimeHtml();
return designTimeMarkup;
} // GetDesignTimeHtml
} // CustomHyperLinkDesigner
' Derive the CustomHyperLinkDesigner from the HyperLinkDesigner.
Public Class CustomHyperLinkDesigner
Inherits HyperLinkDesigner
' Override the GetDesignTimeHtml to set the CustomHyperLink Text
' property so that it displays at design time.
Public Overrides Function GetDesignTimeHtml() As String
Dim hype As CustomHyperLink = CType(Component, CustomHyperLink)
Dim designTimeMarkup As String = Nothing
' Save the original Text and note if it is empty.
Dim text As String = hype.Text
Dim noText As Boolean = (text.Trim().Length = 0)
Try
' If the Text is empty, supply a default value.
If noText Then
hype.Text = "Click here."
End If
' Call the base method to generate the markup.
designTimeMarkup = MyBase.GetDesignTimeHtml()
Catch ex As Exception
' If an error occurs, generate the markup for an error message.
designTimeMarkup = GetErrorDesignTimeHtml(ex)
Finally
' Restore the original value of the Text, if necessary.
If noText Then
hype.Text = text
End If
End Try
' If the markup is empty, generate the markup for a placeholder.
If ((designTimeMarkup = Nothing) Or _
(designTimeMarkup.Length = 0)) Then
designTimeMarkup = GetEmptyDesignTimeHtml()
End If
Return designTimeMarkup
End Function ' GetDesignTimeHtml
End Class
Remarks
The GetDesignTimeHtml method generates the design-time markup for the associated HyperLink control. The method first saves local copies of the Text, NavigateUrl, and ImageUrl properties, as well as the Controls child collection. It provides default values for these properties if the original values are null
or blank. The GetDesignTimeHtml method then calls the GetDesignTimeHtml base method to generate the markup and restores the properties and child control collection to their original values, if necessary.