MenuDesigner.GetDesignTimeHtml Method ()

 

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 Menu at design time.

The GetDesignTimeHtml method calls the DataBind method to bind the design-time data source to the associated Menu control, and then the GetDesignTimeHtml calls the GetDesignModeState method to cause the Menu control to generate its static-view and dynamic-view markup. The GetDesignTimeHtml returns the markup for the current view. If the current view is not defined, the GetDesignTimeHtml calls the GetDesignTimeHtml base method.

The following code example shows how to override the GetDesignTimeHtml method in a class that is inherited from the MenuDesigner class. The overridden method changes the appearance of a control that is derived from the Menu control at design time. The example draws an orange, dotted border around the control to make its extent more visible, if the BorderStyle property of the control is the NotSet or None value.

// Generate the design-time markup.
public override string GetDesignTimeHtml()
{
    // Make the control more visible in the designer.  If the border 
    // style is None or NotSet, change the border to an orange dotted line. 
    MyMenu myMenuCtl = (MyMenu)ViewControl;
    string markup = null;

    // Check if the border style should be changed.
    if (myMenuCtl.BorderStyle == BorderStyle.NotSet ||
        myMenuCtl.BorderStyle == BorderStyle.None)
    {
        BorderStyle oldBorderStyle = myMenuCtl.BorderStyle;
        Color oldBorderColor = myMenuCtl.BorderColor;

        // Set the design-time properties and catch any exceptions.
        try
        {
            myMenuCtl.BorderStyle = BorderStyle.Dotted;
            myMenuCtl.BorderColor = Color.FromArgb(0xFF7F00);

            // Call the base method to generate the markup.
            markup = base.GetDesignTimeHtml();
        }
        catch (Exception ex)
        {
            markup = GetErrorDesignTimeHtml(ex);
        }
        finally
        {
            // Restore the properties to their original settings.
            myMenuCtl.BorderStyle = oldBorderStyle;
            myMenuCtl.BorderColor = oldBorderColor;
        }
    }
    else
        // Call the base method to generate the markup.
        markup = base.GetDesignTimeHtml();

    return markup;

} // GetDesignTimeHtml

.NET Framework
Available since 2.0
Return to top
Show: