Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DetailsViewDesigner.GetDesignTimeHtml (DesignerRegionCollection)

 

Data di pubblicazione: novembre 2016

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.

Spazio dei nomi:   System.Web.UI.Design.WebControls
Assembly:  System.Design (in System.Design.dll)

public override string GetDesignTimeHtml(
	DesignerRegionCollection regions
)

Parametri

regions
Type: System.Web.UI.Design.DesignerRegionCollection

Oggetto DesignerRegionCollection al quale aggiungere definizioni delle aree selezionabili e selezionabili tramite clic nella visualizzazione Design-Time del controllo.

Valore restituito

Type: System.String

Oggetto String contenente il markup usato per eseguire il rendering dell'oggetto DetailsView in fase di progettazione.

Il DetailsViewDesigner.GetDesignTimeHtml chiamate al metodo di DetailsViewDesigner.GetDesignTimeHtml metodo per generare il markup per il rendering in fase di progettazione del DetailsView controllo. Il DetailsViewDesigner.GetDesignTimeHtml metodo compila inoltre regions con un DesignerRegion oggetto per ogni area selezionabile o selezionabile del rendering in fase di progettazione.

Per il DetailsView, la prima cella in ogni riga è selezionabile; tutte le celle nelle righe sono selezionabili.

Note per gli eredi:

Se esegue l'override di GetDesignTimeHtml(DesignerRegionCollection) (metodo), assicurarsi di chiamare il metodo di base o GetDesignTimeHtml() overload poiché questi, tramite vari livelli di override, chiamano nel DetailsView controllo o una copia del controllo per generare il markup.

Esempio di codice seguente viene illustrato come eseguire l'override di GetDesignTimeHtml metodo in una classe che eredita dal DetailsViewDesigner (classe) per modificare l'aspetto del DetailsView controllo in fase di progettazione. Nell'esempio viene aggiunta una nuova prima riga alla griglia per contenere il Caption proprietà, se il Caption è definito. Se il BorderStyle proprietà del controllo derivato dal DetailsView è il NotSet o None valore, il GetDesignTimeHtml Disegna un bordo blu tratteggiato intorno al controllo per renderlo più visibile. Non viene modificato l'aspetto in fase di esecuzione del controllo.

// Generate the design-time markup.
const string capTag = "caption";
const string trOpen = "tr><td colspan=2 align=center";
const string trClose = "td></tr";

public override string GetDesignTimeHtml()
{
    // Make the full extent of the control more visible in the designer.
    // If the border style is None or NotSet, change the border to
    // a wide, blue, dashed line. Include the caption within the border.
    MyDetailsView myDV = (MyDetailsView)Component;
    string markup = null;
    int charX;

    // Check if the border style should be changed.
    if (myDV.BorderStyle == BorderStyle.NotSet ||
        myDV.BorderStyle == BorderStyle.None)
    {
        BorderStyle oldBorderStyle = myDV.BorderStyle;
        Unit oldBorderWidth = myDV.BorderWidth;
        Color oldBorderColor = myDV.BorderColor;

        // Set design-time properties and catch any exceptions.
        try
        {
            myDV.BorderStyle = BorderStyle.Dashed;
            myDV.BorderWidth = Unit.Pixel(3);
            myDV.BorderColor = Color.Blue;

            // Call the base method to generate the markup.
            markup = base.GetDesignTimeHtml();
        }
        catch (Exception ex)
        {
            markup = GetErrorDesignTimeHtml(ex);
        }
        finally
        {
            // Restore the properties to their original settings.
            myDV.BorderStyle = oldBorderStyle;
            myDV.BorderWidth = oldBorderWidth;
            myDV.BorderColor = oldBorderColor;
        }
    }
    else
        // Call the base method to generate the markup.
        markup = base.GetDesignTimeHtml();

    // Look for a <caption> tag.
    if ((charX = markup.IndexOf(capTag)) > 0)
    {
        // Replace the first caption with 
        // "tr><td colspan=2 align=center".
        markup = markup.Remove(charX,
            capTag.Length).Insert(charX, trOpen);

        // Replace the second caption with "td></tr".
        if ((charX = markup.IndexOf(capTag, charX)) > 0)
            markup = markup.Remove(charX,
                capTag.Length).Insert(charX, trClose); 
    }
    return markup;

} // GetDesignTimeHtml

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: