Condividi tramite


LoginDesigner.GetDesignTimeHtml(DesignerRegionCollection) Metodo

Definizione

Ottiene il markup usato per eseguire il rendering del controllo associato in fase di progettazione e popola una raccolta di aree della finestra di progettazione.

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

Parametri

regions
DesignerRegionCollection

Insieme DesignerRegionCollection al quale sono aggiunte definizioni delle aree selezionabili e selezionabili tramite clic nella visualizzazione Design-Time del controllo.

Restituisce

Stringa contenente il markup utilizzato per eseguire il rendering dell'oggetto Login in fase di progettazione.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override del GetDesignTimeHtml metodo in una classe ereditata dalla LoginDesigner classe per modificare l'aspetto di un controllo derivato dal Login controllo in fase di progettazione. L'esempio disegna un bordo blu, tratteggiato intorno al controllo per rendere più visibile l'estensione, se la BorderStyle proprietà del controllo è il NotSet valore o None .

// 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.
        try
        {
            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);
        }
        finally
        {
            // 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;
        }
    }
    else
    {
        // Call the base method to generate the markup.
        markup = base.GetDesignTimeHtml();
    }

    return markup;
} // GetDesignTimeHtml
' Generate the design-time markup.
Public Overrides Function GetDesignTimeHtml() As String

    ' Make the control more visible in the designer.  If the border 
    ' style is None or NotSet, change the border to a blue dashed line. 
    Dim myLoginCtl As MyLogin = CType(ViewControl, MyLogin)
    Dim markup As String = Nothing

    ' Check if the border style should be changed.
    If (myLoginCtl.BorderStyle = BorderStyle.NotSet Or _
        myLoginCtl.BorderStyle = BorderStyle.None) Then

        Dim oldBorderStyle As BorderStyle = myLoginCtl.BorderStyle
        Dim oldBorderColor As Color = myLoginCtl.BorderColor

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

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

        Catch ex As Exception
            markup = GetErrorDesignTimeHtml(ex)

        Finally
            ' 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
        End Try

    Else
        ' Call the base method to generate the markup.
        markup = MyBase.GetDesignTimeHtml()
    End If

    Return markup

End Function ' GetDesignTimeHtml

Commenti

Il GetDesignTimeHtml metodo crea un EditableDesignerRegion oggetto per la LayoutTemplate proprietà del controllo associato Login e lo aggiunge all'oggetto DesignerRegionCollection a cui fa riferimento il regions parametro . Il GetDesignTimeHtml metodo usa il metodo di base per generare il GetDesignTimeHtml markup per il rendering in fase di progettazione del Login controllo.

Note per gli eredi

Se si esegue l'override del GetDesignTimeHtml(DesignerRegionCollection) metodo, assicurarsi di chiamare il GetDesignTimeHtml() metodo di base perché, alla fine, tramite diversi livelli di override, chiamate al Login controllo o una copia del controllo per generare il markup.

Si applica a

Vedi anche