Udostępnij przez


HideDisabledControlAdapter Klasa

Definicja

Zapewnia możliwości renderowania skojarzonej kontrolki sieci Web w celu zmodyfikowania domyślnego narzutu lub zachowania dla określonej przeglądarki.

public ref class HideDisabledControlAdapter : System::Web::UI::WebControls::Adapters::WebControlAdapter
public class HideDisabledControlAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
type HideDisabledControlAdapter = class
    inherit WebControlAdapter
Public Class HideDisabledControlAdapter
Inherits WebControlAdapter
Dziedziczenie
HideDisabledControlAdapter

Przykłady

Poniższy przykład kodu pokazuje, jak rozszerzyć klasę Label w HideDisabledControlAdapter celu wyświetlenia kontrolki w stanie włączonym i wyłączonym. Ten przykład zawiera trzy części:

  • Adapter pochodzący z HideDisabledControlAdapter klasy .

  • Plik .aspx zawierający kontrolkę Label i zawartość specyficzną dla urządzenia.

  • Plik przeglądarki umożliwiający połączenie karty z typem urządzenia.

W poniższym przykładzie kodu pokazano, jak rozszerzyć klasę HideDisabledControlAdapter .

using System;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;

namespace Contoso
{
    [AspNetHostingPermission(
        SecurityAction.Demand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(
        SecurityAction.InheritanceDemand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    public class HideDisabledControlContosoAdapter:
        System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter
    {
        // Link the Label control to the adapter.
        protected new System.Web.UI.WebControls.Label Control
        {
            get
            {
                return (System.Web.UI.WebControls.Label)base.Control;
            }
        }

        // Do not render the Contoso controls if Enabled is false.
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            if (Control.ID.StartsWith("Contoso"))
            {
                if (!Control.Enabled)
                {
                    return;
                }
            }

            base.Render(writer);
        }
    }
}
Imports System.Web
Imports System.Web.UI
Imports System.Security.Permissions

Namespace Contoso
    <AspNetHostingPermission( _
        SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission( _
        SecurityAction.InheritanceDemand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class HideDisabledControlContosoAdapter
        Inherits System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter
    
        Protected Overloads ReadOnly Property Control() As _
            System.Web.UI.WebControls.Label
            Get
                Return CType( _
                    MyBase.Control, _
                    System.Web.UI.WebControls.Label)
            End Get
        End Property

        ' Do not render the control if Enabled is false.
        Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
            If (Control.ID.StartsWith("Contoso")) Then
                If (Not Control.Enabled) Then
                    Return
                End If
            End If

            MyBase.Render(writer)
        End Sub
    End Class
End Namespace

W poniższym przykładzie kodu pokazano, jak zadeklarować kontrolkę Label z zawartością specyficzną dla urządzenia.

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HideDisabledControl Adapter</title>
    <script runat="server">
        void ServerButtonClick(Object source, EventArgs args)
        {
            if (Button1.Text == "Enable Label")
            {
                ContosoLabel1.Enabled = true;
                Button1.Text = "Disable Label";
                messageLabel.Text = "The label is <b>En</b>abled";
            }
            else
            {
                ContosoLabel1.Enabled = false;
                Button1.Text = "Enable Label";
                messageLabel.Text = "The label is <b>dis</b>abled";
            }
        }
    </script>
</head>
<body style="background-color:silver">
    <form id="Form1" runat="server">
        <asp:Label id="ContosoLabel1"             
            text="Contoso Label" 
            WinCE:text="CE Label"
            BorderWidth="3" 
            BorderStyle="Inset"
            style="FONT-SIZE: xx-small"
            runat="server">
            </asp:Label>
        <br />
        <asp:Button id="Button1" 
            text="Disable Label"
            OnClick="ServerButtonClick" 
            runat="server" />
        <br />    
        <asp:Label id="messageLabel" 
            runat="server" 
            style="FONT-SIZE: xx-small"
            AssociatedControlID="Button1">
            <i>Select the button to disable the label.</i>
        </asp:Label>
    </form>
</body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HideDisabledControl Adapter</title>
    <script runat="server">
        Sub ServerButtonClick(ByVal source As Object, ByVal args As EventArgs)
            If (Button1.Text.Equals("Enable Label")) Then
                ContosoLabel1.Enabled = True
                Button1.Text = "Disable Label"
                messageLabel.Text = "The label is <b>En</b>abled"
            Else
                ContosoLabel1.Enabled = False
                Button1.Text = "Enable Label"
                messageLabel.Text = "The label is <b>dis</b>abled"
            End If
        End Sub
    </script>
</head>
<body style="background-color:silver">
    <form id="Form1" runat="server">
        <asp:Label id="ContosoLabel1"             
            text="Contoso Label" 
            WinCE:text="CE Label"
            BorderWidth="3" 
            BorderStyle="Inset"
            style="FONT-SIZE: xx-small"
            runat="server">
            </asp:Label>
        <br />
        <asp:Button id="Button1" 
            text="Disable Label"
            OnClick="ServerButtonClick" 
            runat="server" />
        <br />    
        <asp:Label id="messageLabel" 
            runat="server" 
            style="FONT-SIZE: xx-small"
            AssociatedControlID="Button1">
            <i>Select the button to disable the label.</i>
        </asp:Label>
    </form>
</body>
</html>

Poniższy przykład kodu pokazuje, jak połączyć kontrolkę Label z niestandardową kartą dla przeglądarek działających na platformie .NET systemu Windows CE.

Uwagi

Klasa HideDisabledControlAdapter dostosowuje skojarzona WebControl kontrolkę, aby zmodyfikować domyślne znaczniki lub zachowanie dla określonej przeglądarki. Możesz rozszerzyć klasę, HideDisabledControlAdapter aby jeszcze bardziej dostosować renderowanie kontrolki WebControl .

Karty są kompilowane składniki programu .NET Framework, które przejmują co najmniej jeden etap w cyklu życia strony lub kontrolki. HideDisabledControlAdapter Rozszerzenie klasy zapewni dostęp do etapów cyklu życia kontrolkiWebControl. Aby uzyskać więcej informacji, zobacz Omówienie architektury zachowania adaptacyjnego sterowania.

Początkowe żądanie karty powoduje, że program .NET Framework wyszukuje zamapowany adapter dla kontrolki, biorąc pod uwagę cechy przeglądarki żądającej. Pliki definicji przeglądarki są używane przez klasę HttpBrowserCapabilities do identyfikowania cech przeglądarki klienta i mapowania adaptera na typ przeglądarki. Aby uzyskać więcej informacji, zobacz Omówienie architektury zachowania adaptacyjnego sterowania.

Konstruktorów

Nazwa Opis
HideDisabledControlAdapter()

Inicjuje nowe wystąpienie klasy HideDisabledControlAdapter.

Właściwości

Nazwa Opis
Browser

Pobiera odwołanie do możliwości przeglądarki klienta wysyłającego bieżące żądanie HTTP.

(Dziedziczone od ControlAdapter)
Control

Pobiera odwołanie do kontrolki sieci Web, do której jest dołączony ten adapter sterujący.

(Dziedziczone od WebControlAdapter)
IsEnabled

Pobiera wartość wskazującą, czy kontrolka sieci Web i wszystkie jej kontrolki nadrzędne są włączone.

(Dziedziczone od WebControlAdapter)
Page

Pobiera odwołanie do strony, na której znajduje się kontrolka skojarzona z tą kartą.

(Dziedziczone od ControlAdapter)
PageAdapter

Pobiera odwołanie do karty strony dla strony, na której znajduje się skojarzona kontrolka.

(Dziedziczone od ControlAdapter)

Metody

Nazwa Opis
BeginRender(HtmlTextWriter)

Wywoływane przed renderowaniem kontrolki. W klasie adaptera pochodnego program generuje tagi otwierające, które są wymagane przez określony element docelowy, ale nie jest wymagany przez przeglądarki HTML.

(Dziedziczone od ControlAdapter)
CreateChildControls()

Tworzy kontrolki podrzędne specyficzne dla elementu docelowego dla kontrolki złożonej.

(Dziedziczone od ControlAdapter)
EndRender(HtmlTextWriter)

Wywołana po renderowaniu kontrolki. W klasie adaptera pochodnego generuje tagi zamykające, które są wymagane przez określony element docelowy, ale nie jest wymagany przez przeglądarki HTML.

(Dziedziczone od ControlAdapter)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Dziedziczone od Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Dziedziczone od Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Dziedziczone od Object)
LoadAdapterControlState(Object)

Ładuje informacje o stanie kontrolki adaptera, które zostały zapisane SaveAdapterControlState() podczas poprzedniego żądania na stronie, na której znajduje się kontrolka skojarzona z tą kartą sterowania.

(Dziedziczone od ControlAdapter)
LoadAdapterViewState(Object)

Ładuje informacje o stanie widoku karty, które zostały zapisane SaveAdapterViewState() podczas poprzedniego żądania na stronie, na której znajduje się kontrolka skojarzona z tą kartą sterowania.

(Dziedziczone od ControlAdapter)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Dziedziczone od Object)
OnInit(EventArgs)

Zastępuje metodę OnInit(EventArgs) skojarzonej kontrolki.

(Dziedziczone od ControlAdapter)
OnLoad(EventArgs)

Zastępuje metodę OnLoad(EventArgs) skojarzonej kontrolki.

(Dziedziczone od ControlAdapter)
OnPreRender(EventArgs)

Zastępuje metodę OnPreRender(EventArgs) skojarzonej kontrolki.

(Dziedziczone od ControlAdapter)
OnUnload(EventArgs)

Zastępuje metodę OnUnload(EventArgs) skojarzonej kontrolki.

(Dziedziczone od ControlAdapter)
Render(HtmlTextWriter)

Zapisuje skojarzona kontrolka sieci Web do strumienia wyjściowego jako HTML.

RenderBeginTag(HtmlTextWriter)

Tworzy tag początkowy dla kontrolki Sieci Web w znacznikach przesyłanych do przeglądarki docelowej.

(Dziedziczone od WebControlAdapter)
RenderChildren(HtmlTextWriter)

Generuje znaczniki specyficzne dla elementu docelowego dla kontrolek podrzędnych w kontrolce złożonej, do której jest dołączony adapter sterujący.

(Dziedziczone od ControlAdapter)
RenderContents(HtmlTextWriter)

Generuje wewnętrzny znacznik specyficzny dla elementu docelowego dla kontrolki sieci Web, do której jest dołączony adapter sterujący.

(Dziedziczone od WebControlAdapter)
RenderEndTag(HtmlTextWriter)

Tworzy tag końcowy kontrolki Sieci Web w znacznikach przesyłanych do przeglądarki docelowej.

(Dziedziczone od WebControlAdapter)
SaveAdapterControlState()

Zapisuje informacje o stanie sterowania dla karty sterującej.

(Dziedziczone od ControlAdapter)
SaveAdapterViewState()

Zapisuje informacje o stanie widoku dla karty sterującej.

(Dziedziczone od ControlAdapter)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Dziedziczone od Object)

Dotyczy

Zobacz także