HyperLinkDesigner.GetDesignTimeHtml Method

Definition

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.

Applies to

See also