Redigera

Dela via


ControlDesigner.SetEditableDesignerRegionContent Method

Definition

Specifies the content for an editable region of the control at design time.

public:
 virtual void SetEditableDesignerRegionContent(System::Web::UI::Design::EditableDesignerRegion ^ region, System::String ^ content);
public virtual void SetEditableDesignerRegionContent (System.Web.UI.Design.EditableDesignerRegion region, string content);
abstract member SetEditableDesignerRegionContent : System.Web.UI.Design.EditableDesignerRegion * string -> unit
override this.SetEditableDesignerRegionContent : System.Web.UI.Design.EditableDesignerRegion * string -> unit
Public Overridable Sub SetEditableDesignerRegionContent (region As EditableDesignerRegion, content As String)

Parameters

region
EditableDesignerRegion

An editable design region contained within the control.

content
String

The content to assign for the editable design region.

Examples

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 turns content into an instance of the ITemplate interface and assigns the ITemplate instance to the appropriate view.

// Create a template from the content string and  
// put it in the selected view.
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content)
{
    if (content == null)
        return;

    // Get a reference to the designer host
    IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost));
    if (host != null)
    {
        // Create a template from the content string
        ITemplate template = ControlParser.ParseTemplate(host, content);

        // Determine which region should get the template
        // Either 'Content0' or 'Content1'
        if (region.Name.EndsWith("0"))
            myControl.View1 = template;
        else if (region.Name.EndsWith("1"))
            myControl.View2 = template;
    }
}
' Create a template from the content string and put it 
' in the selected view. Called by the designer host?
Public Overrides Sub SetEditableDesignerRegionContent(ByVal region As EditableDesignerRegion, ByVal content As String)
    If IsNothing(content) Then
        Return
    End If

    ' Get a reference to the designer host
    Dim host As IDesignerHost = CType(Component.Site.GetService(GetType(IDesignerHost)), IDesignerHost)
    If Not IsNothing(host) Then
        ' Create a template from the content string
        Dim template As ITemplate = ControlParser.ParseTemplate(host, content)

        ' Determine which region should get the template
        If region.Name.EndsWith("0") Then
            myControl.View1 = template
        ElseIf region.Name.EndsWith("1") Then
            myControl.View2 = template
        End If

    End If
End Sub

Remarks

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

Applies to

See also