HyperLinkDesigner.GetDesignTimeHtml 方法

定义

获取用于在设计时呈现关联控件的标记。

public:
 override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String

返回

String

包含用于在设计时呈现关联的超链接控件的标记的字符串。

示例

下面的代码示例演示如何从HyperLinkDesigner类派生CustomHyperLinkDesigner类。 如果属性的原始值为Text空字符串 (“”) ,它将重写GetDesignTimeHtml该方法,以提供该属性的默认值Text。 这可确保在设计时显示关联的控件。

此代码示例是为类提供的大型示例的 HyperLinkDesigner 一部分。

// Derive the CustomHyperLinkDesigner from the HyperLinkDesigner.
public class CustomHyperLinkDesigner : HyperLinkDesigner
{
    // Override the GetDesignTimeHtml to set the CustomHyperLink Text 
    // property so that it displays at design time.
    public override string GetDesignTimeHtml()
    {
        CustomHyperLink hype = (CustomHyperLink)Component;
        string designTimeMarkup = null;

        // Save the original Text and note if it is empty.
        string text = hype.Text;
        bool noText = (text.Trim().Length == 0);

        try
        {
            // If the Text is empty, supply a default value.
            if (noText)
                hype.Text = "Click here.";

            // Call the base method to generate the markup.
            designTimeMarkup = base.GetDesignTimeHtml();
        }
        catch (Exception ex)
        {
            // If an error occurs, generate the markup for an error message.
            designTimeMarkup = GetErrorDesignTimeHtml(ex);
        }
        finally
        {
            // Restore the original value of the Text, if necessary.
            if (noText)
                hype.Text = text;
        }

        // If the markup is empty, generate the markup for a placeholder.
        if(designTimeMarkup == null || designTimeMarkup.Length == 0)
            designTimeMarkup = GetEmptyDesignTimeHtml();

        return designTimeMarkup;
    } // GetDesignTimeHtml
} // CustomHyperLinkDesigner
' Derive the CustomHyperLinkDesigner from the HyperLinkDesigner.
Public Class CustomHyperLinkDesigner
    Inherits HyperLinkDesigner

    ' Override the GetDesignTimeHtml to set the CustomHyperLink Text
    ' property so that it displays at design time.
    Public Overrides Function GetDesignTimeHtml() As String

        Dim hype As CustomHyperLink = CType(Component, CustomHyperLink)
        Dim designTimeMarkup As String = Nothing

        ' Save the original Text and note if it is empty.
        Dim text As String = hype.Text
        Dim noText As Boolean = (text.Trim().Length = 0)

        Try
            ' If the Text is empty, supply a default value.
            If noText Then
                hype.Text = "Click here."
            End If

            ' Call the base method to generate the markup.
            designTimeMarkup = MyBase.GetDesignTimeHtml()

        Catch ex As Exception
            ' If an error occurs, generate the markup for an error message.
            designTimeMarkup = GetErrorDesignTimeHtml(ex)

        Finally
            ' Restore the original value of the Text, if necessary.
            If noText Then
                hype.Text = text
            End If
        End Try

        ' If the markup is empty, generate the markup for a placeholder.
        If ((designTimeMarkup = Nothing) Or _
            (designTimeMarkup.Length = 0)) Then
            designTimeMarkup = GetEmptyDesignTimeHtml()
        End If

        Return designTimeMarkup

    End Function ' GetDesignTimeHtml
End Class

注解

该方法 GetDesignTimeHtml 为关联的 HyperLink 控件生成设计时标记。 该方法首先保存本地TextNavigateUrl副本和ImageUrl属性以及Controls子集合。 如果原始值为 null 空,则为这些属性提供默认值。 然后,该方法 GetDesignTimeHtml 调用 GetDesignTimeHtml 基方法以生成标记,并在必要时将属性和子控件集合还原到其原始值。

适用于

另请参阅