CatalogZoneBase 類別

定義

作為充當目錄之所有區域控制項的基底類別。 目錄包含 WebPart 控制項的清單,使用者可以將這些控制項加入網頁。

public ref class CatalogZoneBase abstract : System::Web::UI::WebControls::WebParts::ToolZone, System::Web::UI::IPostBackDataHandler
public abstract class CatalogZoneBase : System.Web.UI.WebControls.WebParts.ToolZone, System.Web.UI.IPostBackDataHandler
type CatalogZoneBase = class
    inherit ToolZone
    interface IPostBackDataHandler
Public MustInherit Class CatalogZoneBase
Inherits ToolZone
Implements IPostBackDataHandler
繼承
衍生
實作

範例

下列程式碼範例示範 類別的數個 CatalogZoneBase 宣告式和程式設計用法。 因為類別是抽象的,所以程式碼範例會使用隨附于 Web 元件控制項集的衍生 CatalogZone 類別,示範其繼承自 CatalogZoneBase 類別的屬性和方法。

程式碼範例有四個部分:

  • 使用者控制項,可讓您變更網頁上的顯示模式。

  • 網頁,其中包含控制項的參考 CatalogZone ,以及示範使用某些索引鍵 CatalogZoneBase 類別成員的某些程式碼。

  • 新增至自訂控制項的自訂 WebPartCatalogZone 控制項。

  • 範例在瀏覽器中運作方式的描述。

此程式碼範例的第一個部分是使用者控制項,可讓您變更頁面上的顯示模式。 如需此控制項中顯示模式和原始程式碼描述的詳細資訊,請參閱逐步解說 :變更網頁元件頁面上的顯示模式

<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
  
 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName, modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

    // If shared scope is allowed for this user, display the scope-switching
    // UI and select the appropriate radio button for the current user scope.
    if (_manager.Personalization.CanEnterSharedScope)
    {
      Panel2.Visible = true;
      if (_manager.Personalization.Scope == PersonalizationScope.User)
        RadioButton1.Checked = true;
      else
        RadioButton2.Checked = true;
    }
    
  }
 
  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
  {
    String selectedMode = DisplayModeDropdown.SelectedValue;

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;
  }

  // Set the selected item equal to the current display mode.
  void Page_PreRender(object sender, EventArgs e)
  {
    ListItemCollection items = DisplayModeDropdown.Items;
    int selectedIndex = 
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
    DisplayModeDropdown.SelectedIndex = selectedIndex;
  }

  // Reset all of a user's personalization data for the page.
  protected void LinkButton1_Click(object sender, EventArgs e)
  {
    _manager.Personalization.ResetPersonalizationState();
  }

  // If not in User personalization scope, toggle into it.
  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.Scope == PersonalizationScope.Shared)
      _manager.Personalization.ToggleScope();
  }

  // If not in Shared scope, and if user is allowed, toggle the scope.
  protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.CanEnterSharedScope && 
        _manager.Personalization.Scope == PersonalizationScope.User)
      _manager.Personalization.ToggleScope();
  }
</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text="&nbsp;Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
  ' Use a field to reference the current WebPartManager.
  Dim _manager As WebPartManager

  Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
    AddHandler Page.InitComplete, AddressOf InitComplete
  End Sub

  Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
    _manager = WebPartManager.GetCurrentWebPartManager(Page)
      
    Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
      
    ' Fill the dropdown with the names of supported display modes.
    Dim mode As WebPartDisplayMode
    For Each mode In _manager.SupportedDisplayModes
      Dim modeName As String = mode.Name
      ' Make sure a mode is enabled before adding it.
      If mode.IsEnabled(_manager) Then
        Dim item As New ListItem(modeName, modeName)
        DisplayModeDropdown.Items.Add(item)
      End If
    Next mode
      
    ' If shared scope is allowed for this user, display the scope-switching
    ' UI and select the appropriate radio button for the current user scope.
    If _manager.Personalization.CanEnterSharedScope Then
      Panel2.Visible = True
      If _manager.Personalization.Scope = PersonalizationScope.User Then
        RadioButton1.Checked = True
      Else
        RadioButton2.Checked = True
      End If
    End If
   
  End Sub

  ' Change the page to the selected display mode.
  Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim selectedMode As String = DisplayModeDropdown.SelectedValue   
    Dim mode As WebPartDisplayMode = _
      _manager.SupportedDisplayModes(selectedMode)
    If Not (mode Is Nothing) Then
      _manager.DisplayMode = mode
    End If

  End Sub
   
  ' Set the selected item equal to the current display mode.
  Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
    Dim items As ListItemCollection = DisplayModeDropdown.Items
    Dim selectedIndex As Integer = _
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
    DisplayModeDropdown.SelectedIndex = selectedIndex

  End Sub

  ' Reset all of a user's personalization data for the page.
  Protected Sub LinkButton1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    _manager.Personalization.ResetPersonalizationState()
    
  End Sub

  ' If not in User personalization scope, toggle into it.
  Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.Scope = PersonalizationScope.Shared Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub
   
  ' If not in Shared scope, and if user is allowed, toggle the scope.
  Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.CanEnterSharedScope AndAlso _
      _manager.Personalization.Scope = PersonalizationScope.User Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub

</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text="&nbsp;Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>

程式碼範例的第二個部分是網頁,其中包含控制項的 CatalogZone 宣告式參考。 頁面頂端附近有兩 Register 個指示詞,一個用於使用者控制項,另一個用於自訂 WebPart 控制項。 請注意,元素 <asp:WebPartZone> 下方是一個 <asp: CatalogZone> 元素,其中包含自訂 WebPart 控制項的宣告式參考,以及 ASP.NET Calendar 控制項。 區域也會設定各種標記和屬性,以判斷其外觀和行為。 頁面中的 <script> 標記之間是各種事件處理常式代碼,其中大部分都會示範成員的各種程式設計用法 CatalogZoneBase

<%@ page language="c#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenucs.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="TextDisplayWebPartCS" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  WebPartManager manager;

  protected void WebPartManager1_DisplayModeChanged(object sender,
    WebPartDisplayModeEventArgs e)
  {
    if (e.OldDisplayMode.Name != "Catalog")
      Panel1.Visible = true;
    else
      Panel1.Visible = false;
  }
  
  // <snippet3>
  protected void Button1_Click(object sender, EventArgs e)
  {
    if (CatalogZone1.AddVerb.Enabled)
    {
      CatalogZone1.AddVerb.Enabled = false;
      CatalogZone1.CloseVerb.Enabled = false;
    }
    else
    {
      CatalogZone1.AddVerb.Enabled = true;
      CatalogZone1.CloseVerb.Enabled = true;
    }
  }
  // </snippet3>

  // <snippet4>
  protected void Button2_Click(object sender, EventArgs e)
  {
    Label1.Text = "<h3>CatalogPart List</h3>";
    foreach(CatalogPart part in CatalogZone1.CatalogParts)
    {
      Label1.Text += part.ID + "<br />";
    }
  }
  // </snippet4>

  // <snippet5>
  protected void Button3_Click(object sender, EventArgs e)
  {
    CatalogZone1.SelectTargetZoneText = "Add to zone";
    CatalogZone1.EmptyZoneText = "Zone is empty";
    CatalogZone1.HeaderText = "My Updated Header";
    CatalogZone1.InstructionText = "My Updated Instructions";
  }
  // </snippet5>

  // <snippet6>
  protected void Button4_Click(object sender, EventArgs e)
  {
    Label1.Text = CatalogZone1.SelectedCatalogPartID;
  }
  // </snippet6>

  // <snippet7>
  protected void Button5_Click(object sender, EventArgs e)
  {
    CatalogZone1.PartLinkStyle.ForeColor = System.Drawing.Color.Red;
    CatalogZone1.SelectedPartLinkStyle.ForeColor = 
      System.Drawing.Color.Blue;
  }
  // </snippet7>

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      CatalogZoneBase Example
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" 
        OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
      <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server">
        <zonetemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>        
      </asp:webpartzone>
      <asp:CatalogZone ID="CatalogZone1" runat="server"
        EmptyZoneText="No controls are in the zone."
        HeaderText="My Web Parts Catalog"
        InstructionText="Add Web Parts controls to the zone."
        PartLinkStyle-Font-Italic="true"
        SelectedPartLinkStyle-Font-Bold="true"
        SelectTargetZoneText="Select zone"
        AddVerb-Text="Add Control"
        CloseVerb-Description="Close and return to browse mode." 
        SelectedCatalogPartID="Currently Selected CatalogPart ID.">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="textwebpart" 
                title = "Text Content WebPart" 
                ExportMode="All"/>  
              <asp:Calendar id="calendar1" runat="server" 
                Title="My Calendar" />               
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart> 
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
          <asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server" /> 
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:CatalogZone ID="CatalogZone2" runat="server"
        BorderWidth="2"
        HeaderText="My Empty CatalogZone"
        EmptyZoneText="No controls are in the zone." />
      <hr />
      <asp:Panel ID="Panel1" runat="server" Visible="false">
        <asp:Button ID="Button1" runat="server" Width="200" 
          Text="Enable or Disable Verbs" 
          OnClick="Button1_Click" />
        <br />
        <asp:Button ID="Button2" runat="server" Width="200" 
          Text="List CatalogParts" OnClick="Button2_Click" />  
        <br />
        <asp:Button ID="Button3" runat="server" Width="200" 
          Text="Set Zone Text Properties" OnClick="Button3_Click" />  
        <br />   
        <asp:Button ID="Button4" runat="server" Width="200" 
          Text="Show Selected CatalogPart ID" OnClick="Button4_Click"  />  
        <br /> 
        <asp:Button ID="Button5" runat="server" Width="200" 
          Text="Change Part Link Styles" OnClick="Button5_Click"  />  
        <br />     
        <asp:Label ID="Label1" runat="server" Text="" /></asp:Panel>
    </form>
  </body>
</html>
<%@ page language="vb" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuvb.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="TextDisplayWebPartVB" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">


  Dim manager As WebPartManager


  Protected Sub WebPartManager1_DisplayModeChanged(ByVal sender _
    As Object, ByVal e As WebPartDisplayModeEventArgs)
    If e.OldDisplayMode.Name <> "Catalog" Then
      Panel1.Visible = True
    Else
      Panel1.Visible = False
    End If

  End Sub
   
  ' <snippet3>
  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    If CatalogZone1.AddVerb.Enabled Then
      CatalogZone1.AddVerb.Enabled = False
      CatalogZone1.CloseVerb.Enabled = False
    Else
      CatalogZone1.AddVerb.Enabled = True
      CatalogZone1.CloseVerb.Enabled = True
    End If

  End Sub
  ' </snippet3>
  
  ' <snippet4>
  Protected Sub Button2_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    Label1.Text = "<h3>CatalogPart List</h3>"
    Dim part As CatalogPart
    For Each part In CatalogZone1.CatalogParts
      Label1.Text += part.ID + "<br />"
    Next part

  End Sub
  ' </snippet4>
  
  ' <snippet5>
  Protected Sub Button3_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    CatalogZone1.SelectTargetZoneText = "Add to zone"
    CatalogZone1.EmptyZoneText = "Zone is empty"
    CatalogZone1.HeaderText = "My Updated Header"
    CatalogZone1.InstructionText = "My Updated Instructions"
  End Sub
  ' </snippet5>
  
  ' <snippet6>
  Protected Sub Button4_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    Label1.Text = CatalogZone1.SelectedCatalogPartID
  End Sub
  ' </snippet6>
  
  ' <snippet7>
  Protected Sub Button5_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    CatalogZone1.PartLinkStyle.ForeColor = _
      System.Drawing.Color.Red
    CatalogZone1.SelectedPartLinkStyle.ForeColor = _
      System.Drawing.Color.Blue
  End Sub
  ' </snippet7>
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      CatalogZoneBase Example
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" 
        OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
      <uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server">
        <zonetemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>        
      </asp:webpartzone>
      <asp:CatalogZone ID="CatalogZone1" runat="server"
        EmptyZoneText="No controls are in the zone."
        HeaderText="My Web Parts Catalog"
        InstructionText="Add Web Parts controls to the zone."
        PartLinkStyle-Font-Italic="true"
        SelectedPartLinkStyle-Font-Bold="true"
        SelectTargetZoneText="Select zone"
        AddVerb-Text="Add Control"
        CloseVerb-Description="Close and return to browse mode." 
        SelectedCatalogPartID="Currently Selected CatalogPart ID.">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="textwebpart" 
                title = "Text Content WebPart" 
                ExportMode="All"/>  
              <asp:Calendar id="calendar1" runat="server" 
                Title="My Calendar" />               
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart> 
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
          <asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server" /> 
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:CatalogZone ID="CatalogZone2" runat="server"
        BorderWidth="2"
        HeaderText="My Empty CatalogZone"
        EmptyZoneText="No controls are in the zone." />
      <hr />
      <asp:Panel ID="Panel1" runat="server" Visible="false">
        <asp:Button ID="Button1" runat="server" Width="200" 
          Text="Enable or Disable Verbs" 
          OnClick="Button1_Click" />
        <br />
        <asp:Button ID="Button2" runat="server" Width="200" 
          Text="List CatalogParts" OnClick="Button2_Click" />  
        <br />
        <asp:Button ID="Button3" runat="server" Width="200" 
          Text="Set Zone Text Properties" OnClick="Button3_Click" />  
        <br />   
        <asp:Button ID="Button4" runat="server" Width="200" 
          Text="Show Selected CatalogPart ID" OnClick="Button4_Click"  />  
        <br /> 
        <asp:Button ID="Button5" runat="server" Width="200" 
          Text="Change Part Link Styles" OnClick="Button5_Click"  />  
        <br />     
        <asp:Label ID="Label1" runat="server" Text="" /></asp:Panel>
    </form>
  </body>
</html>

程式碼範例的第三個部分是名為 TextDisplayWebPart 的自訂 WebPart 控制項。 它會在區域內宣告,而終端使用者可以從目錄將它新增至頁面。 若要執行程式碼範例,您必須編譯此原始程式碼。 您可以明確地編譯它,並將產生的元件放在網站的 Bin 資料夾或全域組件快取中。 或者,您可以將原始程式碼放在月臺的 App_Code 資料夾中,其將在執行時間動態編譯。 如需這兩種編譯方法的示範,請參閱逐步解 說:開發和使用自訂 Web 服務器控制項

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class TextDisplayWebPart : WebPart
  {
    private String _contentText = null;
    TextBox input;
    Label DisplayContent;
    Literal lineBreak;

    [Personalizable(), WebBrowsable]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      this.Controls.Add(DisplayContent);

      lineBreak = new Literal();
      lineBreak.Text = @"<br />";
      Controls.Add(lineBreak);

      input = new TextBox();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Set Label Content";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);
    }

    private void submit_Click(object sender, EventArgs e)
    {
      // Update the label string.
      if (!string.IsNullOrEmpty(input.Text))
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }
  }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class TextDisplayWebPart
    Inherits WebPart
    Private _contentText As String = Nothing
    Private _fontStyle As String = Nothing
    Private input As TextBox
    Private DisplayContent As Label
    Private lineBreak As Literal

    <Personalizable(), WebBrowsable()> _
    Public Property ContentText() As String
      Get
        Return _contentText
      End Get
      Set(ByVal value As String)
        _contentText = value
      End Set
    End Property

    Protected Overrides Sub CreateChildControls()
      Controls.Clear()
      DisplayContent = New Label()
      DisplayContent.BackColor = Color.LightBlue
      DisplayContent.Text = Me.ContentText
      Me.Controls.Add(DisplayContent)

      lineBreak = New Literal()
      lineBreak.Text = "<br />"
      Controls.Add(lineBreak)

      input = New TextBox()
      Me.Controls.Add(input)
      Dim update As New Button()
      update.Text = "Set Label Content"
      AddHandler update.Click, AddressOf Me.submit_Click
      Me.Controls.Add(update)

    End Sub

    Private Sub submit_Click(ByVal sender As Object, _
                             ByVal e As EventArgs)
      ' Update the label string.
      If input.Text <> String.Empty Then
        _contentText = input.Text + "<br />"
        input.Text = String.Empty
        DisplayContent.Text = Me.ContentText
      End If

    End Sub

  End Class

End Namespace

請注意,若要讓程式碼範例正常運作,您必須在 Web.config 檔案中新增設定,才能啟用匯出網頁元件描述檔案。 請確定您在與這個程式碼範例網頁相同的目錄中有一個Web.config檔案。 在 區 <system.web> 段中,請確定有屬性 <webParts>enableExport 設定為 true 的專案,如下列標記所示。

<webParts enableExport="true">

...

</webParts>

當您在瀏覽器中載入頁面時,您可以從下拉式清單方塊中選取 [ 目錄 ],以切換至目錄顯示模式。 當目錄可見時,您可以看到可從目錄新增至頁面的兩個伺服器控制項,也可以在 UI 中記下宣告式和程式設計類別成員的效果 CatalogZoneBase

備註

類別 CatalogZoneBase 是繼承自 類別的 ToolZone 基類。 它會為衍生區域提供一組基底行為。

類別 CatalogZoneBase 提供唯一的使用者介面 (UI) ,可讓使用者將控制項和其他伺服器控制項新增 WebPart 至網頁。 衍生自 類別的 CatalogZoneBase 控制項,例如 CatalogZone ,是實際放在網頁上的控制項。 它們可作為其他控制項的容器,稱為 CatalogPart 控制項,可建立伺服器控制項清單,讓使用者新增至頁面。 只有在頁面處於目錄顯示模式時,才會顯示衍生自 CatalogZoneBase 類別的區域。

注意

CatalogZoneBase區域只能 CatalogPart 包含控制項,相反地, CatalogPart 控制項只能 CatalogZoneBase 位於區域中。

將伺服器控制項新增至目錄的機制是衍生自基 CatalogPart 類之三個控制項的下列集合。

控制 描述
PageCatalogPart 維護頁面上已關閉之控制項的參考。 這些控制項可以重新開啟, (由使用者新增回頁面) 。
DeclarativeCatalogPart 包含網頁標記中 Web 元件目錄中宣告之控制項的參考。 使用者可以將這些控制項新增至網頁。
ImportCatalogPart 提供使用者將定義檔上傳至目錄的 UI,以便將控制項新增至網頁。 定義檔是具有 的 XML 檔案。匯入控制項設定的 WebPart 副檔名。 控制項必須存在於伺服器上,才能匯入定義檔。

類別 CatalogZoneBase 具有許多屬性,可用於顯示控制項目錄 WebPart 。 屬性 AddVerb 會參考將選取控制項從類別目錄新增至頁面的動詞,而 CloseVerb 屬性會參考關閉目錄並傳回頁面的顯示模式以瀏覽模式的動詞。 屬性 CatalogParts 會參考區域中所有 CatalogPart 控制項的集合。 數個文字導向屬性,例如 EmptyZoneTextHeaderTextInstructionText ,會覆寫基底屬性,以提供適合目錄的預設文字。 屬性 SelectTargetZoneText 包含下拉式清單控制項旁的文字,可讓使用者選擇要新增控制項的區域。

類別中包含 CatalogZoneBase 數個其他屬性。 屬性 SelectedCatalogPartID 是目前選取 CatalogPart 控制項的唯一字串識別碼。 屬性 ShowCatalogIcons 會指出是否要在 控制項上 WebPart 設定 CatalogIconImageUrl 屬性,以顯示可以與控制項相關聯的圖示。

屬性 PartLinkStyle 包含目前未在區域中選取之控制項之連結 CatalogPart 的樣式屬性。 相反地, SelectedPartLinkStyle 屬性包含使用者目前在區域中選取之控制項之連結 CatalogPart 的樣式屬性。

除了屬性之外,類別中也有一些方法 CatalogZoneBase ,除了繼承自其他基底控制項的標準事件處理和轉譯方法之外,這些方法也專為處理控制項目錄而設計。 方法 CreateCatalogPartChrome 會建立 chrome (周邊 UI 元素,例如框線、動詞、圖示和標題) ,以圍繞區域中的每個 CatalogPart 控制項,也會處理控制項的轉譯。 方法 CreateCatalogParts 是抽象方法;衍生類別會覆寫它,以建立區域中包含的所有 CatalogPart 控制項實例。 InvalidateCatalogParts如果區域中的 CatalogPart 控制項集合因某些程式設計原因而變更,而且衍生類別需要重新建立集合,則衍生類別可以呼叫 方法。 方法 LoadPostData 會在頁面張貼回伺服器時,載入目錄中控制項旁 WebPart 的核取方塊先前現有的狀態;相反地, SaveControlState 此方法會儲存核取方塊的狀態。 最後, RenderCatalogPartLinks 方法會提供區域中包含的每個 CatalogPart 控制項連結的所有轉譯。

給實施者的注意事項

如果您想要開發用於裝載 CatalogPart 控制項的自訂區域,您必須判斷是否要提供區域範本支援。 區域範本是由實 ITemplate 作 介面的類型所建立,而且如果您想要使用自訂區域啟用頁面開發人員,以在網頁的宣告式標記中參考 CatalogPart 您區域內的控制項,則為必要專案。 如果您需要區域範本支援,您應該繼承自 CatalogZone 類別。 相反地,如果您的自訂區域及其 CatalogPart 控制項會獨立建立,而且會以程式設計方式建立它們,而不會讓頁面開發人員在區域範本中以宣告方式指定控制項,則您可以直接從 CatalogZoneBase 類別繼承。 如果您繼承自 CatalogZoneBase 類別,則必須覆寫 CreateCatalogParts() 方法,並將目錄中想要的其他伺服器控制項新增 WebPartCatalogPartCollection 物件。

建構函式

CatalogZoneBase()

初始化這個類別,以供繼承的類別執行個體使用。 這個建構函式只能由繼承的類別呼叫。

屬性

AccessKey

取得或設定便捷鍵 (Access Key),可讓您快速巡覽至 Web 伺服器控制項。

(繼承來源 WebControl)
Adapter

針對控制項取得瀏覽器的特定配置器。

(繼承來源 Control)
AddVerb

取得 WebPartVerb 物件的參考,這個物件可讓使用者從目錄加入控制項至 Web 組件頁面。

AppRelativeTemplateSourceDirectory

取得或設定包含了此控制項之 PageUserControl 物件的相對應用程式虛擬目錄。

(繼承來源 Control)
AssociatedDisplayModes

取得與特定 WebPartDisplayMode 區域相關聯的 ToolZone 物件集合。

(繼承來源 ToolZone)
Attributes

取得任意屬性 (Attribute) 的集合 (只供呈現),不與控制項上的屬性 (Property) 對應。

(繼承來源 WebControl)
BackColor

取得或設定 Web 伺服器控制項的背景色彩。

(繼承來源 WebControl)
BackImageUrl

取得或設定區域背景影像的 URL。

(繼承來源 WebZone)
BindingContainer

取得包含了此控制項之資料繫結的控制項。

(繼承來源 Control)
BorderColor

取得或設定 Web 控制項的框線色彩。

(繼承來源 WebControl)
BorderStyle

取得或設定 Web 伺服器控制項的框線樣式。

(繼承來源 WebControl)
BorderWidth

取得或設定 Web 伺服器控制項的框線寬度。

(繼承來源 WebControl)
CatalogPartChrome

取得與 CatalogPartChrome 區域相關聯之 CatalogZoneBase 類別執行個體的參考。

CatalogParts

取得 CatalogPart 區域中包含之所有 CatalogZoneBase 控制項的集合。

ChildControlsCreated

取得值,指出是否已經建立伺服器控制項的子控制項。

(繼承來源 Control)
ClientID

取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。

(繼承來源 Control)
ClientIDMode

取得或設定用來產生 ClientID 屬性值的演算法。

(繼承來源 Control)
ClientIDSeparator

取得字元值,表示在 ClientID 屬性中所使用的分隔字元。

(繼承來源 Control)
CloseVerb

取得 WebPartVerb 物件的參考,該物件可讓使用者關閉目錄使用者介面 (UI),並讓頁面返回標準瀏覽模式。

Context

取得與目前 Web 要求的伺服器控制項關聯的 HttpContext 物件。

(繼承來源 Control)
Controls

取得表示 ControlCollection 中之子控制項的 CompositeControl 物件。

(繼承來源 CompositeControl)
ControlStyle

取得 Web 伺服器控制項的樣式。 這個屬性主要由控制項開發人員使用。

(繼承來源 WebControl)
ControlStyleCreated

取得值,指出 Style 物件是否已經為 ControlStyle 屬性建立。 這個屬性主要由控制項開發人員使用。

(繼承來源 WebControl)
CssClass

取得或設定用戶端上 Web 伺服器控制項所呈現的階層式樣式表 (CSS)。

(繼承來源 WebControl)
DataItemContainer

如果命名容器實作 IDataItemContainer,則取得命名容器的參考。

(繼承來源 Control)
DataKeysContainer

如果命名容器實作 IDataKeysControl,則取得命名容器的參考。

(繼承來源 Control)
DesignMode

取得值,指出控制項是否正用於設計介面上。

(繼承來源 Control)
Display

取得值,其中該值指出目前是否顯示 ToolZone 控制項。

(繼承來源 ToolZone)
EditUIStyle

取得 ToolZone 控制項包含之控制項的樣式屬性。

(繼承來源 ToolZone)
EmptyZoneText

取得或設定區域不包含控制項時出現的訊息。

EmptyZoneTextStyle

取得空區域中替代符號文字的樣式屬性。

(繼承來源 WebZone)
Enabled

取得或設定值,指出 Web 伺服器控制項是否啟用。

(繼承來源 WebControl)
EnableTheming

取得或設定值,指出佈景主題是否套用至此控制項。

(繼承來源 WebControl)
EnableViewState

取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。

(繼承來源 Control)
ErrorStyle

取得呈現錯誤訊息的樣式屬性,無法載入或建立 WebPart 控制項時會顯示該錯誤訊息。

(繼承來源 WebZone)
Events

取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。

(繼承來源 Control)
Font

取得與 Web 伺服器控制項關聯的字型屬性。

(繼承來源 WebControl)
FooterStyle

取得區域頁尾區內容的樣式屬性。

(繼承來源 WebZone)
ForeColor

取得或設定 Web 伺服器控制項的前景色彩 (通常是文字的色彩)。

(繼承來源 WebControl)
HasAttributes

取得值,指出控制項是否已經設定屬性。

(繼承來源 WebControl)
HasChildViewState

取得值,指出目前伺服器控制項的子控制項是否有任何已儲存的檢視狀態設定。

(繼承來源 Control)
HasFooter

取得值,表示區域是否具有頁尾區。

(繼承來源 WebZone)
HasHeader

取得值,表示區域是否具有頁首區。

(繼承來源 WebZone)
HeaderCloseVerb

取得 WebPartVerb 控制項頁首中 ToolZone 物件的參考,該物件用於關閉控制項。

(繼承來源 ToolZone)
HeaderStyle

取得區域頁首區內容的樣式屬性。

(繼承來源 WebZone)
HeaderText

取得或設定區域的頁首區域文字。

HeaderVerbStyle

取得顯示於 ToolZone 控制項中所有頁首動詞命令的樣式屬性。

(繼承來源 ToolZone)
Height

取得或設定 Web 伺服器控制項的高度。

(繼承來源 WebControl)
ID

取得或設定指派給伺服器控制項的程式設計識別項。

(繼承來源 Control)
IdSeparator

取得用來分隔控制項識別項的字元。

(繼承來源 Control)
InstructionText

取得或設定為使用者提供指示之區域中的文字。

InstructionTextStyle

取得顯示在 ToolZone 控制項頂端之指示文字的樣式屬性。

(繼承來源 ToolZone)
IsChildControlStateCleared

取得值,指出這個控制項中所包含的控制項是否有控制項狀態。

(繼承來源 Control)
IsEnabled

取得值,指出是否啟用控制項。

(繼承來源 WebControl)
IsTrackingViewState

取得值,指出伺服器控制項是否正在儲存檢視狀態的變更。

(繼承來源 Control)
IsViewStateEnabled

取得值,指出這個控制項是否已啟用檢視狀態。

(繼承來源 Control)
LabelStyle

取得標籤內容的樣式屬性,該標籤顯示在 ToolZone 控制項中的編輯控制項旁。 衍生的 ToolZone 控制項 (例如 CatalogZoneEditorZone) 會將樣式套用至標籤。

(繼承來源 ToolZone)
LoadViewStateByID

取得值,指出控制項是否依 ID (而不是索引) 參與載入其檢視狀態。

(繼承來源 Control)
NamingContainer

取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 ID 屬性值的伺服器控制項之間作區別。

(繼承來源 Control)
Padding

取得或設定表格的儲存格填補屬性,該表格包含區域的 WebPart 控制項。

(繼承來源 WebZone)
Page

取得含有伺服器控制項的 Page 執行個體的參考。

(繼承來源 Control)
Parent

在網頁控制階層架構中取得伺服器控制項之父控制項的參考。

(繼承來源 Control)
PartChromePadding

取得或設定 WebPart 控制項的內容與此控制項的框線之間的距離。

(繼承來源 WebZone)
PartChromeStyle

取得樣式特性,該樣式特性套用至區域中 Web 組件控制項的框線。

(繼承來源 WebZone)
PartChromeType

取得或設定區域中架構 Web 組件控制項的框線類型。

(繼承來源 WebZone)
PartLinkStyle

取得包含 CatalogPart 控制項之樣式屬性的物件,而這些控制項目前在區域中並未選取。

PartStyle

取得樣式特性,該樣式特性套用至區域中每個 Web 組件控制項的框線和內容。

(繼承來源 WebZone)
PartTitleStyle

取得區域中每個 Web 組件控制項標題列內容的樣式屬性。

(繼承來源 WebZone)
RenderClientScript

取得值,指出是否在 Web 組件頁面上呈現用戶端指令碼。

(繼承來源 WebZone)
RenderingCompatibility

取得值,這個值會指定將與呈現 HTML 相容的 ASP.NET 版本。

(繼承來源 Control)
SelectedCatalogPartID

取得或設定字串,做為目前在區域中所選取之 CatalogPart 控制項的識別項。

SelectedPartLinkStyle

取得包含 CatalogPart 控制項之樣式屬性的物件,而此控制項目前已在區域中選取。

SelectTargetZoneText

取得或設定目錄使用者介面 (UI) 中控制項旁的文字,此控制項允許使用者選擇要加入已選取控制項的區域。

ShowCatalogIcons

取得或設定值,指出目錄中的伺服器控制項是否在目錄中顯示關聯的圖示。

Site

當呈現在設計介面上時,取得裝載目前控制項之容器的資訊。

(繼承來源 Control)
SkinID

取得或設定要套用至控制項的面板。

(繼承來源 WebControl)
Style

取得文字屬性的集合,將呈現為 Web 伺服器控制項的外部標記上的樣式屬性。

(繼承來源 WebControl)
SupportsDisabledAttribute

取得值,這個值表示當控制項的 disabled 屬性為 IsEnabled 時,控制項是否應該將呈現之 HTML 項目的 false 屬性設為 "disabled"。

(繼承來源 CompositeControl)
TabIndex

取得或設定 Web 伺服器控制項的定位索引。

(繼承來源 WebControl)
TagKey

取得對應至這個 Web 伺服器控制項的 HtmlTextWriterTag 值。 這個屬性主要由控制項開發人員使用。

(繼承來源 WebZone)
TagName

取得控制項標記的名稱。 這個屬性主要由控制項開發人員使用。

(繼承來源 WebControl)
TemplateControl

取得或設定包含了此控制項之樣板的參考。

(繼承來源 Control)
TemplateSourceDirectory

取得包含目前伺服器控制項的 PageUserControl 的虛擬目錄。

(繼承來源 Control)
ToolTip

取得或設定當滑鼠指標停留在 Web 伺服器控制項時顯示的文字。

(繼承來源 WebControl)
UniqueID

取得伺服器控制項唯一的、符合階層架構的識別項。

(繼承來源 Control)
ValidateRequestMode

取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。

(繼承來源 Control)
VerbButtonType

取得或設定用於表示區域動詞命令的按鈕類型。

(繼承來源 WebZone)
VerbStyle

取得使用者介面 (UI) 動詞命令的樣式屬性,該動詞命令與區域中的 Web 組件控制項相關聯。

(繼承來源 WebZone)
ViewState

取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。

(繼承來源 Control)
ViewStateIgnoresCase

取得值,指出 StateBag 物件是否不區分大小寫。

(繼承來源 Control)
ViewStateMode

取得或設定這個控制項的檢視狀態模式。

(繼承來源 Control)
Visible

取得或設定值,指出伺服器控制項是否要呈現為網頁上的使用者介面 (UI) 項目。

(繼承來源 ToolZone)
WebPartManager

取得 WebPartManager 控制項的參考,該控制項與 Web 組件頁面上的 WebZone 控制項執行個體相關聯。

(繼承來源 WebZone)
Width

取得或設定 Web 伺服器控制項的寬度。

(繼承來源 WebControl)

方法

AddAttributesToRender(HtmlTextWriter)

將需要呈現的 HTML 屬性和樣式加入至指定的 HtmlTextWriterTag 中。 這個方法主要由控制項開發人員使用。

(繼承來源 WebControl)
AddedControl(Control, Int32)

在子控制項加入 Control 物件的 Controls 集合後呼叫。

(繼承來源 Control)
AddParsedSubObject(Object)

通知伺服器控制項,XML 或 HTML 項目已剖析,並將項目加入伺服器控制項的 ControlCollection 物件中。

(繼承來源 Control)
ApplyStyle(Style)

將指定樣式的任何非空白項目加入到 Web 控制項中,覆寫控制項的任何現有的樣式項目。 這個方法主要由控制項開發人員使用。

(繼承來源 WebControl)
ApplyStyleSheetSkin(Page)

將頁面樣式表中所定義的樣式屬性套用至控制項。

(繼承來源 Control)
BeginRenderTracing(TextWriter, Object)

開始進行轉譯資料的設計階段追蹤。

(繼承來源 Control)
BuildProfileTree(String, Boolean)

收集伺服器控制項的相關資訊,並在頁面啟用追蹤時將此資訊傳遞至 Trace 屬性以顯示之。

(繼承來源 Control)
ClearCachedClientID()

將快取的 ClientID 值設定為 null

(繼承來源 Control)
ClearChildControlState()

刪除伺服器控制項之子控制項的控制項狀態資訊。

(繼承來源 Control)
ClearChildState()

刪除所有伺服器控制項之子控制項的檢視狀態和控制項狀態資訊。

(繼承來源 Control)
ClearChildViewState()

刪除所有伺服器控制項之子控制項的檢視狀態資訊。

(繼承來源 Control)
ClearEffectiveClientIDMode()

將目前的控制項執行個體和任何子控制項的 ClientIDMode 屬性設定為 Inherit

(繼承來源 Control)
Close()

將 Web 網頁從目錄顯示模式切換至標準瀏覽模式。

CopyBaseAttributes(WebControl)

將不被 Style 物件封裝的屬性從指定的 Web 伺服器控制項複製到呼叫這個方法的 Web 伺服器控制項上。 這個方法主要由控制項開發人員使用。

(繼承來源 WebControl)
CreateCatalogPartChrome()

建立 CatalogPartChrome 物件的執行個體,這個物件是用來呈現區域中 CatalogPart 控制項的週邊使用者介面 (UI) 項目。

CreateCatalogParts()

提供衍生區域可覆寫的基底方法宣告,以處理建立區域所包含之 CatalogPart 控制項的細節。

CreateChildControls()

建立與 CatalogZoneBase 區域相關聯的一組子控制項。

CreateControlCollection()

建立新的 ControlCollection 物件來保存伺服器控制項的子控制項 (常值和伺服器)。

(繼承來源 Control)
CreateControlStyle()

建立樣式物件,這個物件被 WebControl 類別內部使用,以實作所有的樣式相關屬性。 這個方法主要由控制項開發人員使用。

(繼承來源 WebControl)
DataBind()

繫結資料來源至 CompositeControl 以及其所有子控制項。

(繼承來源 CompositeControl)
DataBind(Boolean)

使用會引發 DataBinding 事件的選項,繫結資料來源至叫用的伺服器控制項及其所有子控制項。

(繼承來源 Control)
DataBindChildren()

繫結資料來源至伺服器控制項的子控制項。

(繼承來源 Control)
Dispose()

啟用伺服器控制項,在它從記憶體釋放之前執行最後清除。

(繼承來源 Control)
EndRenderTracing(TextWriter, Object)

結束轉譯資料的設計階段追蹤。

(繼承來源 Control)
EnsureChildControls()

判斷伺服器控制項是否包含子控制項。 如果不包含,則建立子控制項。

(繼承來源 Control)
EnsureID()

為尚未指定識別項的控制項,建立識別項。

(繼承來源 Control)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FindControl(String)

在目前命名容器搜尋具有指定 id 參數的伺服器控制項。

(繼承來源 Control)
FindControl(String, Int32)

使用指定的 id 和有助於搜尋之 pathOffset 參數中所指定的整數,在目前的命名容器中搜尋伺服器控制項。 您不應該覆寫這個版本的 FindControl 方法。

(繼承來源 Control)
Focus()

設定控制項的輸入焦點。

(繼承來源 Control)
GetDesignModeState()

取得控制項的設計階段資料。

(繼承來源 Control)
GetEffectiveChromeType(Part)

如果提供區域 PartChromeType 屬性和 Web 組件頁面的目前顯示模式,則會傳回 WebPart 控制項之實際或有效的目前 PartChromeType 值。

(繼承來源 WebZone)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetRouteUrl(Object)

取得會對應於一組路由參數的 URL。

(繼承來源 Control)
GetRouteUrl(RouteValueDictionary)

取得會對應於一組路由參數的 URL。

(繼承來源 Control)
GetRouteUrl(String, Object)

取得 URL,此 URL 對應於一組路由參數及一個路由名稱。

(繼承來源 Control)
GetRouteUrl(String, RouteValueDictionary)

取得 URL,此 URL 對應於一組路由參數及一個路由名稱。

(繼承來源 Control)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetUniqueIDRelativeTo(Control)

傳回指定之控制項 UniqueID 屬性的前置部分。

(繼承來源 Control)
HasControls()

判斷伺服器控制項是否包含任何子控制項。

(繼承來源 Control)
HasEvents()

傳回值,指出控制項或任何子控制項的事件是否已註冊。

(繼承來源 Control)
InvalidateCatalogParts()

終結與 CatalogPart 區域相關聯的 CatalogZoneBase 控制項集合。

IsLiteralContent()

判斷伺服器控制項是否只儲存常值內容。

(繼承來源 Control)
LoadControlState(Object)

從控制項屬性的上一個頁面要求載入狀態,即使控制項上已停用檢視狀態,這些屬性應該還是會在回傳之間保存。

LoadPostData(String, NameValueCollection)

頁面回傳至伺服器時,處理對應於目錄中 WebPart 控制項的核取方塊狀態。

LoadViewState(Object)

載入先前儲存的區域狀態資訊。

MapPathSecure(String)

擷取虛擬絕對路徑或相對路徑所對應至的實體路徑。

(繼承來源 Control)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MergeStyle(Style)

將指定樣式的任何非空白項目複製到 Web 控制項,但不覆寫控制項的任何現有樣式項目。 這個方法主要由控制項開發人員使用。

(繼承來源 WebControl)
OnBubbleEvent(Object, EventArgs)

決定伺服器控制項的事件是否要在頁面的 UI 伺服器控制項階層架構中向上傳遞。

(繼承來源 Control)
OnDataBinding(EventArgs)

引發 DataBinding 事件。

(繼承來源 Control)
OnDisplayModeChanged(Object, WebPartDisplayModeEventArgs)

提供基底方法宣告,衍生的 ToolZone 控制項可覆寫此基底方法宣告,以處理變更特定區域網頁顯示模式的細節。

(繼承來源 ToolZone)
OnInit(EventArgs)

註冊頁面物件,讓頁面需要控制項狀態。

OnLoad(EventArgs)

引發 Load 事件。

(繼承來源 Control)
OnPreRender(EventArgs)

引發 PreRender 事件,並註冊頁面物件,讓它需要回傳。

OnSelectedWebPartChanged(Object, WebPartEventArgs)

提供基底方法宣告,衍生的 ToolZone 控制項可覆寫此基底方法宣告,以處理特定區域中選取之 Web 網頁組件控制項的變更事件。

(繼承來源 ToolZone)
OnUnload(EventArgs)

引發 Unload 事件。

(繼承來源 Control)
OpenFile(String)

取得用來讀取檔案的 Stream

(繼承來源 Control)
RaiseBubbleEvent(Object, EventArgs)

指派事件的任何來源和它的資訊至控制項的父控制項。

(繼承來源 Control)
RaisePostBackEvent(String)

執行與其中一個區域動詞命令相關聯的動作,或引發回傳至伺服器的事件。

RecreateChildControls()

重新建立衍生自 CompositeControl 之控制項的子控制項。

(繼承來源 CompositeControl)
RemovedControl(Control)

Control 物件的 Controls 集合中移除子控制項之後呼叫。

(繼承來源 Control)
Render(HtmlTextWriter)

將區域呈現至指定的 HtmlTextWriter 物件。

RenderBeginTag(HtmlTextWriter)

將區域控制項的開頭 HTML 標記呈現至指定的 HtmlTextWriter 物件。

(繼承來源 WebZone)
RenderBody(HtmlTextWriter)

覆寫基底方法以呈現繼承自 CatalogZoneBase 類別之區域的主體區域。

RenderCatalogPartLinks(HtmlTextWriter)

呈現 CatalogPart 區域中個別 CatalogZoneBase 控制項的連結。

RenderChildren(HtmlTextWriter)

將伺服器控制項子系的內容輸出至提供的 HtmlTextWriter 物件,再由這個物件在用戶端上寫入要轉譯的內容。

(繼承來源 Control)
RenderContents(HtmlTextWriter)

將區域控制項的整個內容 (開始和結束標記之間的部分) 呈現至指定的 HtmlTextWriter 物件。

(繼承來源 WebZone)
RenderControl(HtmlTextWriter)

將伺服器控制項內容輸出至提供的 HtmlTextWriter 物件,並在啟用追蹤時儲存控制項的追蹤資訊。

(繼承來源 Control)
RenderControl(HtmlTextWriter, ControlAdapter)

使用提供的 HtmlTextWriter 物件,輸出伺服器控制項內容至提供的 ControlAdapter 物件。

(繼承來源 Control)
RenderEndTag(HtmlTextWriter)

將控制項的 HTML 結尾標記呈現至指定的寫入器。 這個方法主要由控制項開發人員使用。

(繼承來源 WebControl)
RenderFooter(HtmlTextWriter)

呈現 CatalogZoneBase 區域的頁尾區域。

RenderHeader(HtmlTextWriter)

覆寫基底方法,提供 ToolZone 控制項所需之頁首區的特定呈現。

(繼承來源 ToolZone)
RenderVerb(HtmlTextWriter, WebPartVerb)

呈現 ToolZone 控制項的個別動詞命令。

(繼承來源 ToolZone)
RenderVerbs(HtmlTextWriter)

CatalogZoneBase 區域的頁尾區域呈現動詞命令。

ResolveAdapter()

取得負責呈現指定之控制項的控制項配置器。

(繼承來源 Control)
ResolveClientUrl(String)

取得瀏覽器可使用的 URL。

(繼承來源 Control)
ResolveUrl(String)

將 URL 轉換為要求用戶端可使用的 URL。

(繼承來源 Control)
SaveControlState()

儲存在 Web 網頁回傳至伺服器以後發生的任何 CatalogZoneBase 控制項狀態變更。

SaveViewState()

儲存自頁面回傳至伺服器以來所發生的任何檢視狀態變更。

SetDesignModeState(IDictionary)

設定控制項的設計階段資料。

(繼承來源 Control)
SetRenderMethodDelegate(RenderMethod)

指定事件處理常式委派,以呈現伺服器控制項及其內容至其父控制項。

(繼承來源 Control)
SetTraceData(Object, Object)

使用追蹤資料機碼和追蹤資料值,設定設計階段期間追蹤呈現資料的追蹤資料。

(繼承來源 Control)
SetTraceData(Object, Object, Object)

使用追蹤的物體、追蹤資料機碼和追蹤資料值,設定設計階段期間追蹤呈現資料的追蹤資料。

(繼承來源 Control)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TrackViewState()

追蹤變更區域控制項的檢視狀態。

事件

DataBinding

發生於伺服器控制項繫結至資料來源時。

(繼承來源 Control)
Disposed

發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。

(繼承來源 Control)
Init

發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。

(繼承來源 Control)
Load

發生於載入伺服器控制項至 Page 物件時。

(繼承來源 Control)
PreRender

Control 物件載入之後但在呈現之前發生。

(繼承來源 Control)
Unload

發生於伺服器控制項從記憶體卸載時。

(繼承來源 Control)

明確介面實作

IAttributeAccessor.GetAttribute(String)

使用指定的名稱,取得 Web 控制項的屬性。

(繼承來源 WebControl)
IAttributeAccessor.SetAttribute(String, String)

將 Web 控制項的屬性設定為指定的名稱和值。

(繼承來源 WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

讓設計工具能在設計階段環境中重新建立複合控制項的子控制項集合。

(繼承來源 CompositeControl)
IControlBuilderAccessor.ControlBuilder

如需這個成員的說明,請參閱 ControlBuilder

(繼承來源 Control)
IControlDesignerAccessor.GetDesignModeState()

如需這個成員的說明,請參閱 GetDesignModeState()

(繼承來源 Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

如需這個成員的說明,請參閱 SetDesignModeState(IDictionary)

(繼承來源 Control)
IControlDesignerAccessor.SetOwnerControl(Control)

如需這個成員的說明,請參閱 SetOwnerControl(Control)

(繼承來源 Control)
IControlDesignerAccessor.UserData

如需這個成員的說明,請參閱 UserData

(繼承來源 Control)
IDataBindingsAccessor.DataBindings

如需這個成員的說明,請參閱 DataBindings

(繼承來源 Control)
IDataBindingsAccessor.HasDataBindings

如需這個成員的說明,請參閱 HasDataBindings

(繼承來源 Control)
IExpressionsAccessor.Expressions

如需這個成員的說明,請參閱 Expressions

(繼承來源 Control)
IExpressionsAccessor.HasExpressions

如需這個成員的說明,請參閱 HasExpressions

(繼承來源 Control)
IParserAccessor.AddParsedSubObject(Object)

如需這個成員的說明,請參閱 AddParsedSubObject(Object)

(繼承來源 Control)
IPostBackDataHandler.LoadPostData(String, NameValueCollection)

呼叫 LoadPostData(String, NameValueCollection) 類別的 LoadPostData(String, NameValueCollection) 方法,實作 CatalogZoneBase 方法。

IPostBackDataHandler.RaisePostDataChangedEvent()

如需這個成員的說明,請參閱 RaisePostDataChangedEvent()

IPostBackEventHandler.RaisePostBackEvent(String)

實作 RaisePostBackEvent(String) 方法。

(繼承來源 ToolZone)

擴充方法

FindDataSourceControl(Control)

傳回與指定之控制項的資料控制項相關聯的資料來源。

FindFieldTemplate(Control, String)

傳回在指定之控制項的命名容器中所指定資料行的欄位樣板。

FindMetaTable(Control)

傳回包含資料控制項的中繼資料表物件。

GetDefaultValues(INamingContainer)

取得所指定資料控制項的預設值集合。

GetMetaTable(INamingContainer)

取得所指定資料控制項中的資料表中繼資料。

SetMetaTable(INamingContainer, MetaTable)

設定所指定資料控制項中的資料表中繼資料。

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

設定所指定資料控制項的資料表中繼資料及預設值對應。

SetMetaTable(INamingContainer, MetaTable, Object)

設定所指定資料控制項的資料表中繼資料及預設值對應。

TryGetMetaTable(INamingContainer, MetaTable)

判斷資料表中繼資料是否可供使用。

EnableDynamicData(INamingContainer, Type)

針對指定的資料控制項啟用動態資料行為。

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

針對指定的資料控制項啟用動態資料行為。

EnableDynamicData(INamingContainer, Type, Object)

針對指定的資料控制項啟用動態資料行為。

適用於

另請參閱