ControlDesigner.GetDesignTimeHtml 方法

定义

检索用于在设计时表示控件的 HTML 标记。Retrieves the HTML markup that is used to represent the control at design time.

重载

GetDesignTimeHtml(DesignerRegionCollection)

检索用当前控件设计器区域显示控件并填充集合的 HTML 标记。Retrieves the HTML markup to display the control and populates the collection with the current control designer regions.

GetDesignTimeHtml()

检索用于在设计时表示控件的 HTML 标记。Retrieves the HTML markup that is used to represent the control at design time.

GetDesignTimeHtml(DesignerRegionCollection)

检索用当前控件设计器区域显示控件并填充集合的 HTML 标记。Retrieves the HTML markup to display the control and populates the collection with the current control designer regions.

public:
 virtual System::String ^ GetDesignTimeHtml(System::Web::UI::Design::DesignerRegionCollection ^ regions);
public virtual string GetDesignTimeHtml (System.Web.UI.Design.DesignerRegionCollection regions);
abstract member GetDesignTimeHtml : System.Web.UI.Design.DesignerRegionCollection -> string
override this.GetDesignTimeHtml : System.Web.UI.Design.DesignerRegionCollection -> string
Public Overridable Function GetDesignTimeHtml (regions As DesignerRegionCollection) As String

参数

regions
DesignerRegionCollection

关联控件的控件设计器区域的集合。A collection of control designer regions for the associated control.

返回

关联控件的设计时 HTML 标记,包括所有控件设计器区域。The design-time HTML markup for the associated control, including all control designer regions.

示例

下面的代码示例演示如何使用 DesignerRegionCollection 集合创建 HTML 标记。The following code example shows how to create HTML markup using the DesignerRegionCollection collection.

// Create the regions and design-time markup. Called by the designer host.
public override String GetDesignTimeHtml(DesignerRegionCollection regions) {
    // Create 3 regions: 2 clickable headers and an editable row
    regions.Add(new DesignerRegion(this, "Header0"));
    regions.Add(new DesignerRegion(this, "Header1"));

    // Create an editable region and add it to the regions
    EditableDesignerRegion editableRegion = 
        new EditableDesignerRegion(this, 
            "Content" + myControl.CurrentView, false);
    regions.Add(editableRegion);

    // Set the highlight for the selected region
    regions[myControl.CurrentView].Highlight = true;

    // Use the base class to render the markup
    return base.GetDesignTimeHtml();
}
' Create the regions and design-time markup. Called by the designer host.
Public Overrides Function GetDesignTimeHtml(ByVal regions As DesignerRegionCollection) As String
    ' Create 3 regions: 2 clickable headers and an editable row
    regions.Add(New DesignerRegion(Me, "Header0"))
    regions.Add(New DesignerRegion(Me, "Header1"))

    ' Create an editable region and add it to the regions
    Dim editableRegion As EditableDesignerRegion = _
        New EditableDesignerRegion(Me, _
            "Content" & myControl.CurrentView, False)
    regions.Add(editableRegion)

    ' Set the highlight for the selected region
    regions(myControl.CurrentView).Highlight = True

    ' Use the base class to render the markup
    Return MyBase.GetDesignTimeHtml()
End Function

注解

设计宿主调用 GetDesignTimeHtml 方法来获取设计时 HTML 标记和控件设计器区域的当前列表。The design host calls the GetDesignTimeHtml method to get the design-time HTML markup and the current list of control designer regions. 使用 DesignerRegionCollection,设计宿主可以为每个可编辑控件设计器区域请求标记。Using the DesignerRegionCollection, the design host can then request the markup for each editable control designer region.

为派生控件设计器提供 GetDesignTimeHtml 方法,如 GridViewDesigner 类,必须在调用 GetDesignTimeHtml 方法之前处理区域的内容。The GetDesignTimeHtml method is provided for a derived control designer, such as the GridViewDesigner class, that must process the content for the region before calling the GetDesignTimeHtml method.

另请参阅

GetDesignTimeHtml()

检索用于在设计时表示控件的 HTML 标记。Retrieves the HTML markup that is used to represent the control at design time.

public:
 virtual System::String ^ GetDesignTimeHtml();
public virtual string GetDesignTimeHtml ();
abstract member GetDesignTimeHtml : unit -> string
override this.GetDesignTimeHtml : unit -> string
Public Overridable Function GetDesignTimeHtml () As String

返回

用于在设计时表示控件的 HTML 标记。The HTML markup used to represent the control at design time.

示例

下面的代码示例演示如何重写自定义控件设计器中的 GetDesignTimeHtml 方法。The following code example demonstrates how to override the GetDesignTimeHtml method in a custom control designer. 如果关联的控件的 Text 属性为空,则 GetDesignTimeHtml 方法将调用 GetEmptyDesignTimeHtml 方法。If the Text property for the associated control is empty, the GetDesignTimeHtml method calls the GetEmptyDesignTimeHtml method. 否则,GetDesignTimeHtml 方法创建并呈现超链接控件。Otherwise, the GetDesignTimeHtml method creates and renders a Hyperlink control.

public override string GetDesignTimeHtml()
{
    if (simpleControl.Text.Length > 0)
    {
        string spec = "<a href='{0}.aspx'>{0}</a>";
        return String.Format(spec, simpleControl.Text);
    }
    else
    {
        return GetEmptyDesignTimeHtml();
    }
}
Public Overrides Function GetDesignTimeHtml() As String
   ' Component is the instance of the component or control that
   ' this designer object is associated with. This property is 
   ' inherited from System.ComponentModel.ComponentDesigner.
   simpleControl = CType(Component, Simple)
   
   If simpleControl.Text.Length > 0 Then
      Dim sw As New StringWriter()
      Dim tw As New HtmlTextWriter(sw)
      
      Dim placeholderLink As New HyperLink()
      
      ' Put simpleControl.Text into the link's Text.
      placeholderLink.Text = simpleControl.Text
      placeholderLink.NavigateUrl = simpleControl.Text
      placeholderLink.RenderControl(tw)
      
      Return sw.ToString()
   Else
      Return GetEmptyDesignTimeHtml()
   End If
End Function

继承者说明

如果要创建自定义容器控件,请确保在设计时呈现控件和所有子控件,而不管 Visible 属性是否设置为 truefalseIf you are creating a custom container control, make sure that you render the control and all child controls at design time, regardless of whether the Visible property is set to true or false.

另请参阅

适用于