ControlDesignerGetEditableDesignerRegionContent Method
 

Returns the content for an editable region of the design-time view of the associated control.

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

public virtual string GetEditableDesignerRegionContent(
	EditableDesignerRegion region
)
public:
virtual String^ GetEditableDesignerRegionContent(
	EditableDesignerRegion^ region
)
abstract GetEditableDesignerRegionContent : 
        region:EditableDesignerRegion -> string
override GetEditableDesignerRegionContent : 
        region:EditableDesignerRegion -> string
Public Overridable Function GetEditableDesignerRegionContent (
	region As EditableDesignerRegion
) As String

Parameters

region
Type:

The EditableDesignerRegion object to get content for.

Return Value

Type:

The persisted content for the region, if the control designer supports editable regions; otherwise, an empty string ("").

The default implementation of the GetEditableDesignerRegionContent method returns an empty string ("").

Classes deriving from the ControlDesigner class can support region-based editing on the design surface and override the GetEditableDesignerRegionContent method to return the content for a specified region.

The following code example shows how to get a reference to the design host, and then use the reference to create a ControlParser object that creates the HTML markup for region and its contents.

// Get the content string for the selected region. Called by the designer host?
public override string GetEditableDesignerRegionContent(EditableDesignerRegion region) 
{
    // Get a reference to the designer host
    IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost));
    if (host != null)
    {
        ITemplate template = myControl.View1;
        if (region.Name == "Content1")
            template = myControl.View2;

        // Persist the template in the design host
        if (template != null)
            return ControlPersister.PersistTemplate(template, host);
    }

    return String.Empty;
}
' Get the content string for the selected region. Called by the designer host?
Public Overrides Function GetEditableDesignerRegionContent(ByVal region As EditableDesignerRegion) As String
    ' Get a reference to the designer host
    Dim host As IDesignerHost = CType(Component.Site.GetService(GetType(IDesignerHost)), IDesignerHost)

    If Not IsNothing(host) Then
        Dim template As ITemplate = myControl.View1
        If region.Name = "Content1" Then
            template = myControl.View2
        End If

        ' Persist the template in the design host
        If Not IsNothing(template) Then
            Return ControlPersister.PersistTemplate(template, host)
        End If
    End If

    Return String.Empty
End Function
.NET Framework
Available since 2.0
Return to top