HyperLinkDesigner.GetDesignTimeHtml Method ()

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the markup that is used to render the associated control at design time.

Namespace:   System.Web.UI.Design.WebControls
Assembly:  System.Design (in System.Design.dll)

public override string GetDesignTimeHtml()

Return Value

Type: System.String

A string containing the markup used to render the associated hyperlink control at design time.

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.

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

.NET Framework
Available since 1.1
Return to top
Show: