Sdílet prostřednictvím


ControlDesigner.ViewControl Vlastnost

Definice

Získá nebo nastaví ovládací prvek webového serveru, který lze použít pro náhled kódu HTML v době návrhu.

public:
 property System::Web::UI::Control ^ ViewControl { System::Web::UI::Control ^ get(); void set(System::Web::UI::Control ^ value); };
public System.Web.UI.Control ViewControl { get; set; }
member this.ViewControl : System.Web.UI.Control with get, set
Public Property ViewControl As Control

Hodnota vlastnosti

Objekt Control používaný základní třídou k vygenerování kódu HTML v době návrhu.

Příklady

Následující příklad kódu ukazuje, jak označit návrháře ovládacích prvků pomocí atributu SupportsPreviewControlAttribute . Příklad kódu odvozuje ovládací prvek webového Label serveru z třídy a přidruží ovládací prvek k vlastní implementaci návrháře ovládacího prvku. Deklarace třídy návrháře ovládacího prvku je označena atributem nastaveným SupportsPreviewControl na truehodnotu . Návrhář ovládacích prvků přepíše metodu GetDesignTimeHtml a poté zobrazí Text vlastnost ovládacího prvku kurzívou v době návrhu.

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;
using System.Reflection;

namespace ControlDesignerSamples.CS
{
    // Define a simple designer associated with a 
    // simple text web control.
    
    // Mark the designer with the SupportsPreviewControlAttribute set
    // to true.  This means the base.UsePreviewControl returns true,
    // and base.ViewControl returns a temporary preview copy of the control.
    [SupportsPreviewControl(true)]
    public class SimpleTextControlDesigner : TextControlDesigner
    {		
        // Override the base GetDesignTimeHtml method to display 
        // the design time text in italics.
        public override string GetDesignTimeHtml()
        {
            string html = String.Empty;
 
            try
            {
                // Initialize the return string to the default
                // design time html of the base TextControlDesigner.
                html = base.GetDesignTimeHtml();

                // Get the ViewControl for the associated control.
                Label ctrl = (Label)ViewControl;

                ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "Italic");
                html = base.GetDesignTimeHtml();
            }
            catch (System.Exception e)
            {
               if (String.IsNullOrEmpty(html))
               {
                   html = GetErrorDesignTimeHtml(e);
               }
            }
            
            return html;
        }
    }

    // Derive a simple Web control from Label to render a text string.
    // Associate this control with the SimpleTextControlDesigner.
    [DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"),
    ToolboxData("<{0}:MyLabelControl Runat=\"Server\"><{0}:MyLabelControl>")]
    public class MyLabelControl : Label
    {
        // Use the Label control implementation, but associate
        // the derived class with the custom control designer.
    }
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls
Imports System.Reflection

Namespace ControlDesignerSamples.VB

    ' Derive a simple Web control from Label to render a text string.
    ' Associate this control with the SimpleTextControlDesigner.
    <DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"), _
    ToolboxData("<{0}:MyLabelControl Runat=""Server""><{0}:MyLabelControl>")> _
    Public Class MyLabelControl
        Inherits Label

        ' Use the Label control implementation, but associate
        ' the derived class with the custom control designer.
    End Class


    ' Mark the designer with the SupportsPreviewControlAttribute set
    ' to true.  This means the base.UsePreviewControl returns true,
    ' and base.ViewControl returns a temporary preview copy of the control.
    <SupportsPreviewControl(True)> _
    Public Class SimpleTextControlDesigner
        Inherits TextControlDesigner

        ' Override the base GetDesignTimeHtml method to display 
        ' the design time text in italics.
        Public Overrides Function GetDesignTimeHtml() As String
            Dim html As String = String.Empty

            Try
                ' Get the ViewControl for the associated control.
                Dim ctrl As Label = CType(ViewControl, Label)

                ' Set the default text, if necessary
                If ctrl.Text.Length = 0 Then
                    ctrl.Text = "Sample Text"
                End If

                ' Set the style to italic
                ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "italic")

                ' Let the base class create the HTML markup
                html = MyBase.GetDesignTimeHtml()
            Catch ex As Exception
                If String.IsNullOrEmpty(html) Then
                    ' Display the exception message
                    html = GetErrorDesignTimeHtml(ex)
                End If
            End Try

            Return html
        End Function

    End Class
End Namespace

Poznámky

Vlastnost ViewControl používá UsePreviewControl vlastnost k určení její návratové hodnoty.

UsePreviewControl Pokud je truevlastnost , ViewControl vrátí vlastnost dočasnou kopii ovládacího prvku. Změny dočasného ovládacího prvku nejsou zachovány.

UsePreviewControl Pokud je falsevlastnost , ViewControl vrátí vlastnost instanci Component vlastnosti pro ovládací prvek. Změny instance ovládacího prvku jsou zachovány.

Nastavení SupportsPreviewControl v objektu SupportsPreviewControlAttribute slouží k nastavení hodnoty UsePreviewControl vlastnosti . SupportsPreviewControl Proto nastavení určuje typ ovládacího prvku, který je vrácen ViewControl vlastností v základní ControlDesigner třídě. SupportsPreviewControlAttribute Pokud není zadán v deklaraci návrháře ovládacího prvku, chování objektu ControlDesigner je ekvivalentní k zadání SupportsPreviewControl vlastnosti jako false.

Platí pro

Viz také