WebPartZoneBase 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
作為充當 WebPart (或者其他伺服器或使用者) 控制項容器之所有區域控制項的基底類別。
public ref class WebPartZoneBase abstract : System::Web::UI::WebControls::WebParts::WebZone, System::Web::UI::IPostBackEventHandler
public abstract class WebPartZoneBase : System.Web.UI.WebControls.WebParts.WebZone, System.Web.UI.IPostBackEventHandler
type WebPartZoneBase = class
inherit WebZone
interface IPostBackEventHandler
Public MustInherit Class WebPartZoneBase
Inherits WebZone
Implements IPostBackEventHandler
- 繼承
- 衍生
- 實作
範例
下列程式代碼範例示範 類別的使用 WebPartZoneBase 。 此程式代碼示範如何在網頁元件頁面中以宣告方式使用衍生類別 WebPartZone,以包含 WebPart 控件。 程式代碼範例有四個區段:前三個區段描述程式碼檔案,第四個區段會說明如何執行程序代碼。
程式代碼範例的第一個部分是使用者控件,可讓使用者將頁面切換為不同的顯示模式。 如需有關網頁元件顯示模式和此控件程式代碼描述的詳細資訊,請參閱逐步解說 :變更網頁元件頁面上的顯示模式。
<%@ 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=" 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=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120" />
<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>
程式代碼範例的第二個部分是程式代碼旁的檔案,其中包含處理主網頁事件的程序代碼。 此檔案中的程式代碼示範如何以程序設計方式使用某些金鑰 WebPartZoneBase 成員。
using System;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class WebPartZoneBase_overview : System.Web.UI.Page
{
protected void Page_Load(Object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToLongDateString();
Label2.Text = String.Empty;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (WebPartZone2.VerbButtonType == ButtonType.Button)
WebPartZone2.VerbButtonType = ButtonType.Link;
else
WebPartZone2.VerbButtonType = ButtonType.Button;
}
protected void Button2_Click(object sender, EventArgs e)
{
if (WebPartZone1.LayoutOrientation == Orientation.Vertical)
WebPartZone1.LayoutOrientation = Orientation.Horizontal;
else
WebPartZone1.LayoutOrientation = Orientation.Vertical;
Page_Load(sender, e);
}
protected void Button3_Click(object sender, EventArgs e)
{
StringBuilder builder = new StringBuilder();
builder.AppendLine(@"<strong>WebPartZone1 WebPart IDs</strong><br />");
foreach (WebPart part in WebPartZone1.WebParts)
{
builder.AppendLine("ID: " + part.ID
+ "; Type: " + part.GetType()
+ @"<br />");
}
Label2.Text = builder.ToString();
Label2.Visible = true;
}
protected void Button4_Click(object sender, EventArgs e)
{
StringBuilder builder = new StringBuilder();
builder.AppendLine(@"<strong>WebPartZone1 DisplayTitle Property</strong><br />");
builder.AppendLine(WebPartZone1.DisplayTitle + @"<br />");
Label2.Text = builder.ToString();
Label2.Visible = true;
}
}
Imports System.Text
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Partial Public Class WebPartZoneBase_overview
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As [Object], ByVal e As EventArgs)
Label1.Text = DateTime.Now.ToLongDateString()
Label2.Text = String.Empty
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
If WebPartZone2.VerbButtonType = ButtonType.Button Then
WebPartZone2.VerbButtonType = ButtonType.Link
Else
WebPartZone2.VerbButtonType = ButtonType.Button
End If
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)
If WebPartZone1.LayoutOrientation = Orientation.Vertical Then
WebPartZone1.LayoutOrientation = Orientation.Horizontal
Else
WebPartZone1.LayoutOrientation = Orientation.Vertical
End If
Page_Load(sender, e)
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim builder As New StringBuilder()
builder.AppendLine("<strong>WebPartZone2 WebPart IDs</strong><br />")
Dim part As WebPart
For Each part In WebPartZone1.WebParts
builder.AppendLine("ID: " + part.ID + "; Type: " _
+ part.GetType().ToString() _
+ "<br />")
Next part
Label2.Text = builder.ToString()
Label2.Visible = True
End Sub
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim builder As New StringBuilder()
builder.AppendLine("<strong>WebPartZone1 DisplayTitle Property</strong><br />")
builder.AppendLine(WebPartZone1.DisplayTitle + "<br />")
Label2.Text = builder.ToString()
Label2.Visible = True
End Sub
End Class
程式代碼範例的第三個部分是網頁,其中包含 WebPartZone 從基 WebPartZoneBase 類展示行為的控件,以及 WebPart 區域中所包含的控件。
<%@ Page Language="C#"
Codefile="webpartzonebase_overview.cs"
Inherits="WebPartZoneBase_overview" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="DisplayModeMenuCS.ascx" %>
<!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 runat="server">
<title>WebPartZoneBase Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="WebPartManager1" Runat="server" />
<uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
<table width="75%">
<tr>
<td>
<asp:WebPartZone
ID="WebPartZone1"
Runat="server"
LayoutOrientation="Vertical" >
<EditVerb Text="Edit WebPart" />
<SelectedPartChromeStyle BackColor="LightBlue" />
<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>
<asp:Calendar ID="Calendar1" Runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
</td>
<td valign="top" align="right">
<asp:WebPartZone
ID="WebPartZone2"
Runat="server"
DragHighlightColor="#00ff00"
AllowLayoutChange="true"
EmptyZoneText="Add WebParts to this empty Zone."
BorderWidth="2"
BorderColor="DarkBlue"
BorderStyle="Dashed"
MenuLabelText="Verbs Menu"
MenuPopupImageUrl="label.gif" >
<VerbStyle Font-Italic="true" />
<MenuLabelStyle BackColor="Lime" BorderWidth="1" />
<MenuLabelHoverStyle Font-Bold="true" />
<MenuVerbHoverStyle BackColor="LightGrey" />
<MenuVerbStyle Font-Italic="true" />
<ZoneTemplate>
<asp:Label ID="Label1" Runat="server" Title="Date" />
</ZoneTemplate>
</asp:WebPartZone>
</td>
</tr>
<tr>
<td>
<asp:EditorZone ID="EditorZone1" Runat="server">
<ZoneTemplate>
<asp:AppearanceEditorPart ID="AppearanceEditorPart1"
Runat="server" />
<asp:LayoutEditorPart ID="LayoutEditorPart1"
Runat="server" />
</ZoneTemplate>
</asp:EditorZone>
</td>
</tr>
</table>
</div>
<asp:Button ID="Button1" Runat="server"
Width="200" Text="Toggle WebPartZone2 Buttons"
OnClick="Button1_Click" />
<br />
<asp:Button ID="Button2" Runat="server"
Width="200" Text="Toggle Layout Orientation"
OnClick="Button2_Click" />
<br />
<asp:Button ID="Button3" Runat="server"
Width="200" Text="List WebPartZone1 WebParts"
OnClick="Button3_Click" />
<br />
<asp:Button ID="Button4" Runat="server"
Width="200" Text="WebPartZone1 Display Title"
OnClick="Button4_Click" />
<br />
<asp:Label ID="Label2" Runat="server" Visible="false" />
</form>
</body>
</html>
<%@ Page Language="VB"
Codefile="webpartzonebase_overview.vb"
Inherits="WebPartZoneBase_overview" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="DisplayModeMenuVB.ascx" %>
<!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>WebPartZoneBase Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="WebPartManager1" Runat="server" />
<uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
<table width="75%">
<tr>
<td>
<asp:WebPartZone
ID="WebPartZone1"
Runat="server"
LayoutOrientation="Vertical" >
<EditVerb Text="Edit WebPart" />
<SelectedPartChromeStyle BackColor="LightBlue" />
<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>
<asp:Calendar ID="Calendar1" Runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
</td>
<td valign="top" align="right">
<asp:WebPartZone
ID="WebPartZone2"
Runat="server"
DragHighlightColor="#00ff00"
AllowLayoutChange="true"
EmptyZoneText="Add WebParts to this empty Zone."
BorderWidth="2"
BorderColor="DarkBlue"
BorderStyle="Dashed"
MenuLabelText="Verbs Menu"
MenuPopupImageUrl="label.gif" >
<VerbStyle Font-Italic="true" />
<MenuLabelStyle BackColor="Lime" BorderWidth="1" />
<MenuLabelHoverStyle Font-Bold="true" />
<MenuVerbHoverStyle BackColor="LightGrey" />
<MenuVerbStyle Font-Italic="true" />
<ZoneTemplate>
<asp:Label ID="Label1" Runat="server" Title="Date" />
</ZoneTemplate>
</asp:WebPartZone>
</td>
</tr>
<tr>
<td>
<asp:EditorZone ID="EditorZone1" Runat="server">
<ZoneTemplate>
<asp:AppearanceEditorPart ID="AppearanceEditorPart1"
Runat="server" />
<asp:LayoutEditorPart ID="LayoutEditorPart1"
Runat="server" />
</ZoneTemplate>
</asp:EditorZone>
</td>
</tr>
</table>
</div>
<asp:Button ID="Button1" Runat="server"
Width="200" Text="Toggle WebPartZone2 Buttons"
OnClick="Button1_Click" />
<br />
<asp:Button ID="Button2" Runat="server"
Width="200" Text="Toggle Layout Orientation"
OnClick="Button2_Click" />
<br />
<asp:Button ID="Button3" Runat="server"
Width="200" Text="List WebPartZone1 WebParts"
OnClick="Button3_Click" />
<br />
<asp:Button ID="Button4" Runat="server"
Width="200" Text="WebPartZone1 Display Title"
OnClick="Button4_Click" />
<br />
<asp:Label ID="Label2" Runat="server" Visible="false" />
</form>
</body>
</html>
在瀏覽器中載入網頁。 使用 [ 顯示模式 ] 下拉式清單控件,將頁面切換為設計模式,按兩下 WebPart 控件,然後嘗試在可見區域之間拖曳。 按兩下頁面上的一些按鈕,以查看使用類別的各種成員 WebPartZoneBase 的效果。 接下來,將頁面切換為編輯模式。 請確定 WebPart 控件位於 WebPartZone2
中,按兩下控件標題列上的動詞功能表,然後按兩下 [編輯 ] 以編輯控制件。 完成該控件的編輯,然後編輯另一個區域中的其中一個控件。 當您執行這些步驟時,請注意控件和區域的UI樣式差異,這是使用類別的各種成員 WebPartZoneBase 的效果。
備註
在 Web 元件控制項集中,區域是複合控件,轉譯為 HTML 資料表,其中包含網頁定義區域中的其他控制件。 類別 WebPartZoneBase 是繼承自基 WebZone 類的區域,併為包含 WebPart 控件、伺服器控件和使用者控件的衍生區域提供一組基底行為。 區域與 WebPart (和其他伺服器) 控件的組合WebPartZoneBase會形成 Web 元件應用程式的主要 UI,這是使用者與大部分時間互動的頁面一般檢視。
所有區域都會為它們所包含的控制項提供一組通用的UI元素。 如需所有區域通用UI元素的詳細討論,請參閱 類別的 WebZone 類別概觀主題。 區域 WebPartZoneBase 包含內文區段,其中包含伺服器控件,以及 WebPartChrome 用於轉譯內含控件及其 Chrome 元素的相關物件,例如其動詞、框線等等。
除了繼承自 WebZone 類別的功能之外,類別還會 WebPartZoneBase 新增用戶端控件拖曳、特定動詞 (,以啟用常見的 UI 動作,例如最小化、關閉、刪除和編輯控件) ,以及其他樣式功能。 如果您想要設計資料庫驅動自定義區域,類別 WebPartZoneBase 也是繼承自 的類別。 例如,您可以建立繼承自 WebPartZoneBase的自定義天氣網頁元件區域,其設計目的是要包含及提供數據系結和顯示天氣資訊的控件的版面配置功能和其他服務 WebPart 。
類別 WebPartZoneBase 包含一些屬性,可用於區域中的樣式屬性。 框線有數個屬性,包括 BorderStyle 和 BorderWidth。 有一組屬性可用來處理功能表的樣式屬性,這些屬性可以出現在區域的標頭中,例如 MenuLabelStyle、 MenuVerbStyle和其他。
類別 WebPartZoneBase 也包含一些成員,用於處理區域中的動詞。 這些成員與區域中元件控件上出現的動詞相關。 雖然區域層級動詞可以新增至 WebPartZoneBase 區域,但預設不會有任何動詞。 Web 元件控件集提供一組標準動詞,可與元件控件搭配使用,而開發人員也可以新增自定義動詞。 使用動詞的一些重要屬性包括參考某些標準動詞物件的屬性,例如 CloseVerb、 ConnectVerb、 DeleteVerb和 EditVerb、 HelpVerb和 MinimizeVerb。 標準動詞會出現在動詞功能表上, (通常會在UI中顯示為下拉功能表,) 包含在區域中每個控件的標題欄中。 另外還有屬性 VerbButtonType 可讓您判斷何種類型的可點選物件代表UI中的動詞命令。
使用動詞的其他重要成員包括 OnCreateVerbs 方法,這是可以覆寫的事件處理程式,用於自定義動詞建立程式的處理,以及 CreateVerbs 事件。
類別 WebPartZoneBase 包含一些成員,可用於處理 WebPart 區域內所包含的控件。 屬性 WebParts 會參考區域中所有 WebPart (和其他伺服器) 控件的集合。 數個方法會對應至使用者可在區域中控制件上 WebPart 執行的標準動詞或動作,例如 CloseWebPart、 ConnectWebPart和 EditWebPart。
類別中 WebPartZoneBase 也有一些成員,其涉及控件在區域內的配置或排列方式 WebPart 。 屬性 AllowLayoutChange 會決定控件是否可以在區域之間移動,或由使用者重新排列區域內。 屬性 LayoutOrientation 可讓您判斷區域中的控件是水平還是垂直排列。
注意
Internet Explorer 可能會根據區域的方向,以非預期的方式呈現 或其包含控件的高度 WebPartZone 。 如需詳細資訊,請參閱 或 Height 屬性的檔LayoutOrientation。
類別中的其他 WebPartZoneBase 方法會提供您詳細程式設計控制區域之各種區域的呈現方式。 其中許多方法會覆寫繼承自 類別的 WebZone 基底方法,以自定義包含 WebPart 控件之區域的轉譯。 重要方法包括 Render、 RenderBody、 RenderDropCue和 RenderHeader。
建構函式
WebPartZoneBase() |
初始化這個類別,以供繼承的類別執行個體使用。 這個建構函式只能由繼承的類別呼叫。 |
屬性
AccessKey |
取得或設定便捷鍵 (Access Key),可讓您快速巡覽至 Web 伺服器控制項。 (繼承來源 WebControl) |
Adapter |
針對控制項取得瀏覽器的特定配置器。 (繼承來源 Control) |
AllowLayoutChange |
取得或設定值,指出區域中 WebPart 控制項的配置是否可以變更。 |
AppRelativeTemplateSourceDirectory |
取得或設定包含了此控制項之 Page 或 UserControl 物件的相對應用程式虛擬目錄。 (繼承來源 Control) |
Attributes |
取得任意屬性 (Attribute) 的集合 (只供呈現),不與控制項上的屬性 (Property) 對應。 (繼承來源 WebControl) |
BackColor |
取得或設定 Web 伺服器控制項的背景色彩。 (繼承來源 WebControl) |
BackImageUrl |
取得或設定區域背景影像的 URL。 (繼承來源 WebZone) |
BindingContainer |
取得包含了此控制項之資料繫結的控制項。 (繼承來源 Control) |
BorderColor |
取得或設定 WebPartZoneBase 控制項的框線色彩。 |
BorderStyle |
取得或設定圍繞 WebPartZoneBase 控制項的框線類型。 |
BorderWidth |
取得或設定圍繞 WebPartZoneBase 控制項的框線寬度。 |
ChildControlsCreated |
取得值,指出是否已經建立伺服器控制項的子控制項。 (繼承來源 Control) |
ClientID |
取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。 (繼承來源 Control) |
ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 (繼承來源 Control) |
ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 (繼承來源 Control) |
CloseVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者關閉區域中的 WebPart 控制項。 |
ConnectVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者建立 WebPart 控制項之間的連接。 |
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) |
DeleteVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者刪除區域中的 WebPart 控制項。 |
DesignMode |
取得值,指出控制項是否正用於設計介面上。 (繼承來源 Control) |
DisplayTitle |
取得目前的文字值,該值是在區域本身為可見時,用來做為 WebPartZoneBase 區域的標題。 |
DragDropEnabled |
取得值,指出是否可以將 WebPart 控制項拖入或拖出區域。 |
DragHighlightColor |
取得或設定色彩,該色彩是使用者拖曳控制項時,圍繞 WebPartZoneBase 區域及其置放提示區的框線色彩。 |
EditVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者編輯區域中的 WebPart 控制項。 |
EmptyZoneText |
取得或設定訊息,該訊息會在 WebPartZoneBase 控制項不包含任何 WebPart 控制項時顯示。 |
EmptyZoneTextStyle |
取得空區域中替代符號文字的樣式屬性。 (繼承來源 WebZone) |
Enabled |
取得或設定值,指出 Web 伺服器控制項是否啟用。 (繼承來源 WebControl) |
EnableTheming |
取得或設定值,指出佈景主題是否套用至此控制項。 (繼承來源 WebControl) |
EnableViewState |
取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。 (繼承來源 Control) |
ErrorStyle |
取得呈現錯誤訊息的樣式屬性,無法載入或建立 WebPart 控制項時會顯示該錯誤訊息。 (繼承來源 WebZone) |
Events |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 Control) |
ExportVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者匯出區域中各個 WebPart 控制項的 XML 定義檔。 |
Font |
取得與 Web 伺服器控制項關聯的字型屬性。 (繼承來源 WebControl) |
FooterStyle |
取得區域頁尾區內容的樣式屬性。 (繼承來源 WebZone) |
ForeColor |
取得或設定 Web 伺服器控制項的前景色彩 (通常是文字的色彩)。 (繼承來源 WebControl) |
HasAttributes |
取得值,指出控制項是否已經設定屬性。 (繼承來源 WebControl) |
HasChildViewState |
取得值,指出目前伺服器控制項的子控制項是否有任何已儲存的檢視狀態設定。 (繼承來源 Control) |
HasFooter |
取得值,表示區域是否具有頁尾區。 |
HasHeader |
取得值,表示區域是否具有頁首區。 |
HeaderStyle |
取得區域頁首區內容的樣式屬性。 (繼承來源 WebZone) |
HeaderText |
取得或設定區域的頁首區域文字。 (繼承來源 WebZone) |
Height |
取得或設定 Web 伺服器控制項的高度。 (繼承來源 WebControl) |
HelpVerb |
取得 WebPartVerb 物件的參考,該物件是用來存取區域中 WebPart 控制項的說明內容。 |
ID |
取得或設定指派給伺服器控制項的程式設計識別項。 (繼承來源 Control) |
IdSeparator |
取得用來分隔控制項識別項的字元。 (繼承來源 Control) |
IsChildControlStateCleared |
取得值,指出這個控制項中所包含的控制項是否有控制項狀態。 (繼承來源 Control) |
IsEnabled |
取得值,指出是否啟用控制項。 (繼承來源 WebControl) |
IsTrackingViewState |
取得值,指出伺服器控制項是否正在儲存檢視狀態的變更。 (繼承來源 Control) |
IsViewStateEnabled |
取得值,指出這個控制項是否已啟用檢視狀態。 (繼承來源 Control) |
LayoutOrientation |
取得或設定值,指出區域中的控制項是垂直排列或是水平排列。 |
LoadViewStateByID |
取得值,指出控制項是否依 ID (而不是索引) 參與載入其檢視狀態。 (繼承來源 Control) |
MenuCheckImageStyle |
取得樣式屬性,這些屬性會套用至動詞命令功能表上已選取動詞命令文字旁邊的核取記號影像。 |
MenuCheckImageUrl |
取得或設定影像的 URL,該影像是用來做為區域中各個 WebPart 控制項動詞命令功能表中的核取記號。 |
MenuLabelHoverStyle |
取得樣式屬性,這些屬性是在使用者將滑鼠指標置於標籤上時,套用至 WebPart 控制項標題列中動詞命令的標籤。 |
MenuLabelStyle |
取得標籤的樣式資訊,也就是顯示於區域中各個 WebPart 控制項標題列之動詞命令下拉式功能表的標籤。 |
MenuLabelText |
取得或設定值,做為區域中各個 WebPart 控制項標題列之動詞命令下拉式功能表的標籤。 |
MenuPopupImageUrl |
取得或設定影像的 URL,該影像可開啟區域中各個 WebPart 控制項標題列的動詞命令下拉式功能表。 |
MenuPopupStyle |
取得下拉式動詞命令功能表的樣式屬性,該功能表會顯示在區域中的 WebPart 控制項上。 |
MenuVerbHoverStyle |
取得動詞命令外觀的樣式資訊,也就是使用者將滑鼠指標置於動詞命令上時,動詞命令下拉式功能表中動詞命令的外觀。 |
MenuVerbStyle |
取得動詞命令外觀的樣式資訊,也就是顯示功能表時,動詞命令下拉式功能表中動詞命令的外觀。 |
MinimizeVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者將區域中的 WebPart 控制項最小化。 |
NamingContainer |
取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 ID 屬性值的伺服器控制項之間作區別。 (繼承來源 Control) |
Padding |
取得或設定表格的儲存格填補屬性,該表格包含區域的 WebPart 控制項。 (繼承來源 WebZone) |
Page |
取得含有伺服器控制項的 Page 執行個體的參考。 (繼承來源 Control) |
Parent |
在網頁控制階層架構中取得伺服器控制項之父控制項的參考。 (繼承來源 Control) |
PartChromePadding |
取得或設定 WebPart 控制項的內容與此控制項的框線之間的距離。 (繼承來源 WebZone) |
PartChromeStyle |
取得樣式特性,該樣式特性套用至區域中 Web 組件控制項的框線。 (繼承來源 WebZone) |
PartChromeType |
取得或設定區域中架構 Web 組件控制項的框線類型。 (繼承來源 WebZone) |
PartStyle |
取得樣式特性,該樣式特性套用至區域中每個 Web 組件控制項的框線和內容。 (繼承來源 WebZone) |
PartTitleStyle |
取得區域中每個 Web 組件控制項標題列內容的樣式屬性。 (繼承來源 WebZone) |
RenderClientScript |
取得值,指出是否在 Web 組件頁面上呈現用戶端指令碼。 (繼承來源 WebZone) |
RenderingCompatibility |
取得值,這個值會指定將與呈現 HTML 相容的 ASP.NET 版本。 (繼承來源 Control) |
RestoreVerb |
取得 WebPartVerb 物件的參考,這個物件可讓使用者將區域中的 WebPart 控制項還原為標準大小。 |
SelectedPartChromeStyle |
取得區域中已選取 WebPart 控制項之外觀的樣式資訊。 |
ShowTitleIcons |
取得或設定值,指出標題圖示是否顯示在區域中各個 WebPart 控制項的標題列中。 |
Site |
當呈現在設計介面上時,取得裝載目前控制項之容器的資訊。 (繼承來源 Control) |
SkinID |
取得或設定要套用至控制項的面板。 (繼承來源 WebControl) |
Style |
取得文字屬性的集合,將呈現為 Web 伺服器控制項的外部標記上的樣式屬性。 (繼承來源 WebControl) |
SupportsDisabledAttribute |
取得值,這個值表示當控制項的 |
TabIndex |
取得或設定 Web 伺服器控制項的定位索引。 (繼承來源 WebControl) |
TagKey |
取得對應至這個 Web 伺服器控制項的 HtmlTextWriterTag 值。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebZone) |
TagName |
取得控制項標記的名稱。 這個屬性主要由控制項開發人員使用。 (繼承來源 WebControl) |
TemplateControl |
取得或設定包含了此控制項之樣板的參考。 (繼承來源 Control) |
TemplateSourceDirectory |
取得包含目前伺服器控制項的 Page 或 UserControl 的虛擬目錄。 (繼承來源 Control) |
TitleBarVerbButtonType |
取得或設定 WebPart 控制項標題列中動詞命令所使用的按鈕類型。 |
TitleBarVerbStyle |
取得 WebPart 控制項標題列中動詞命令的樣式屬性。 |
ToolTip |
取得或設定當滑鼠指標停留在 Web 伺服器控制項時顯示的文字。 (繼承來源 WebControl) |
UniqueID |
取得伺服器控制項唯一的、符合階層架構的識別項。 (繼承來源 Control) |
ValidateRequestMode |
取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。 (繼承來源 Control) |
VerbButtonType |
取得或設定按鈕類型,以舊版瀏覽器進行存取時,該按鈕與存在於 WebPartZoneBase 區域中的動詞命令相關聯。 |
VerbStyle |
取得使用者介面 (UI) 動詞命令的樣式屬性,該動詞命令與區域中的 Web 組件控制項相關聯。 (繼承來源 WebZone) |
ViewState |
取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。 (繼承來源 Control) |
ViewStateIgnoresCase |
取得值,指出 StateBag 物件是否不區分大小寫。 (繼承來源 Control) |
ViewStateMode |
取得或設定這個控制項的檢視狀態模式。 (繼承來源 Control) |
Visible |
取得或設定值,指出伺服器控制項是否會轉譯為頁面上的 UI。 (繼承來源 Control) |
WebPartChrome |
取得 WebPartChrome 物件的參考,該物件會決定區域中 WebPart 控制項的週邊呈現。 |
WebPartManager |
取得 WebPartManager 控制項的參考,該控制項與 Web 組件頁面上的 WebZone 控制項執行個體相關聯。 (繼承來源 WebZone) |
WebParts |
取得包含在區域中的 Web 組件控制項集合。 |
WebPartVerbRenderMode |
取得或設定值,指出動詞命令在區域中 WebPart 控制項上應該如何呈現。 |
Width |
取得或設定 Web 伺服器控制項的寬度。 (繼承來源 WebControl) |
方法
事件
CreateVerbs |
在為衍生自 WebPartZoneBase 類別的區域建立動詞命令時發生。 |
DataBinding |
發生於伺服器控制項繫結至資料來源時。 (繼承來源 Control) |
Disposed |
發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。 (繼承來源 Control) |
Init |
發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。 (繼承來源 Control) |
Load |
發生於載入伺服器控制項至 Page 物件時。 (繼承來源 Control) |
PreRender |
在 Control 物件載入之後但在呈現之前發生。 (繼承來源 Control) |
Unload |
發生於伺服器控制項從記憶體卸載時。 (繼承來源 Control) |
明確介面實作
擴充方法
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) |
針對指定的資料控制項啟用動態資料行為。 |