LoginDesigner.GetDesignTimeHtml Method (DesignerRegionCollection)


Gets the markup that is used to render the associated control at design time and populates a collection of designer regions.

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

public override string GetDesignTimeHtml(
	DesignerRegionCollection regions


Type: System.Web.UI.Design.DesignerRegionCollection

A DesignerRegionCollection to which definitions of the selectable and clickable regions in the design-time view of the control are added.

Return Value

Type: System.String

A string containing the markup used to render the Login at design time.

The GetDesignTimeHtml method creates an EditableDesignerRegion object for the LayoutTemplate property of the associated Login control and adds it to the DesignerRegionCollection object that is referenced by the regions parameter. The GetDesignTimeHtml method uses the GetDesignTimeHtml base method to generate the markup for the design-time rendering of the Login control.

Notes to Inheritors:

If you override the GetDesignTimeHtml method, be sure to call the GetDesignTimeHtml base method because it eventually, through several override levels, calls on the System.Web.UI.WebControls.Login control or a copy of the control to generate the markup.

The following code example shows how to override the GetDesignTimeHtml method in a class that is inherited from the LoginDesigner class to change the appearance of a control that is derived from the Login control at design time. The example draws a blue, dashed 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 a blue dashed line. 
    MyLogin myLoginCtl = (MyLogin)ViewControl;
    string markup = null;

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

        // Set the design time properties and catch any exceptions.
            myLoginCtl.BorderStyle = BorderStyle.Dashed;
            myLoginCtl.BorderColor = Color.Blue;

            // Call the base method to generate the markup.
            markup = base.GetDesignTimeHtml();
        catch (Exception ex)
            markup = GetErrorDesignTimeHtml(ex);
            // It is not necessary to restore the border properties 
            // to their original values because the ViewControl 
            // was used to reference the associated control and the 
            // UsePreviewControl was not overridden.  

            // myLoginCtl.BorderStyle = oldBorderStyle;
            // myLoginCtl.BorderColor = oldBorderColor;
        // Call the base method to generate the markup.
        markup = base.GetDesignTimeHtml();

    return markup;

} // GetDesignTimeHtml

.NET Framework
Available since 2.0
Return to top