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 控件、伺服器控件和使用者控件的衍生區域提供一組基底行為。 WebPartZoneBase 區域與 WebPart(和其他伺服器)控件的組合會形成 Web 元件應用程式的主要 UI,這是使用者大部分時間互動的頁面一般檢視。
所有區域都會針對所包含的控制項提供一組通用的UI元素。 如需所有區域通用UI元素的詳細討論,請參閱 WebZone 類別的類別概觀主題。 WebPartZoneBase 區域包含包含伺服器控件的本文區段,以及用來轉譯自主控件及其 Chrome 元素的相關聯 WebPartChrome 物件,例如其動詞、框線等等。
除了繼承自 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 或其內含控件的高度。 如需詳細資訊,請參閱 LayoutOrientation 或 Height 屬性的檔。
WebPartZoneBase 類別中的其他方法提供您詳細程式設計控件,以呈現區域的各個區域。 其中許多方法會覆寫繼承自 WebZone 類別的基底方法,以自定義包含 WebPart 控件的區域轉譯。 重要方法包括 Render、RenderBody、RenderDropCue和 RenderHeader。
建構函式
WebPartZoneBase() |
初始化 類別,以供繼承的類別實例使用。 這個建構函式只能由繼承的類別呼叫。 |
屬性
AccessKey |
取得或設定存取金鑰,可讓您快速流覽至 Web 伺服器控制項。 (繼承來源 WebControl) |
Adapter |
取得控制器特定配接器。 (繼承來源 Control) |
AllowLayoutChange |
取得或設定值,這個值表示是否可以在區域內變更 WebPart 控件的配置。 |
AppRelativeTemplateSourceDirectory |
取得或設定包含這個控制項之 Page 或 UserControl 物件的應用程式相對虛擬目錄。 (繼承來源 Control) |
Attributes |
取得任意屬性的集合(僅適用於轉譯),這些屬性不會對應至 控件上的屬性。 (繼承來源 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 |
取得值,指出是否已為 ControlStyle 屬性建立 Style 物件。 此屬性主要供控件開發人員使用。 (繼承來源 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 |
取得控制項的事件處理程式委派清單。 這個屬性是唯讀的。 (繼承來源 Control) |
ExportVerb |
取得 WebPartVerb 對象的參考,可讓用戶匯出區域中每個 WebPart 控件的 XML 定義檔。 |
Font |
取得與網頁伺服器控件相關聯的字型屬性。 (繼承來源 WebControl) |
FooterStyle |
取得區域頁尾區域內容的樣式屬性。 (繼承來源 WebZone) |
ForeColor |
取得或設定網頁伺服器控制件的前景色彩(通常是文字的色彩)。 (繼承來源 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 |
取得套用至區域所包含之網頁元件控制元件框線的樣式特性。 (繼承來源 WebZone) |
PartChromeType |
取得或設定框線類型,框架區域所包含的網頁元件控件。 (繼承來源 WebZone) |
PartStyle |
取得套用至區域所包含之每個網頁元件控制元件框線和內容的樣式特性。 (繼承來源 WebZone) |
PartTitleStyle |
取得區域所包含之每個網頁元件控件標題列內容的樣式屬性。 (繼承來源 WebZone) |
RenderClientScript |
取得值,這個值表示是否要在網頁元件頁面上轉譯用戶端腳本。 (繼承來源 WebZone) |
RenderingCompatibility |
取得值,指定轉譯 HTML 與 的 ASP.NET 版本相容。 (繼承來源 Control) |
RestoreVerb |
取得 WebPartVerb 對象的參考,可讓使用者將區域中的 WebPart 控件還原為一般大小。 |
SelectedPartChromeStyle |
取得區域中所選取 WebPart 控件外觀的樣式資訊。 |
ShowTitleIcons |
取得或設定值,指出標題圖示是否顯示在區域中每個 WebPart 控件的標題欄中。 |
Site |
取得在設計介面上呈現時裝載目前控制件之容器的相關信息。 (繼承來源 Control) |
SkinID |
取得或設定要套用至控件的面板。 (繼承來源 WebControl) |
Style |
取得文字屬性的集合,這些屬性將會轉譯為 Web 伺服器控件外部標記上的樣式屬性。 (繼承來源 WebControl) |
SupportsDisabledAttribute |
取得值,這個值表示當控件的 IsEnabled 屬性 |
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) 動詞命令的樣式屬性。 (繼承來源 WebZone) |
ViewState |
取得狀態資訊的字典,可讓您跨相同頁面的多個要求儲存和還原伺服器控件的檢視狀態。 (繼承來源 Control) |
ViewStateIgnoresCase |
取得值,這個值表示 StateBag 物件是否不區分大小寫。 (繼承來源 Control) |
ViewStateMode |
取得或設定這個控件的檢視狀態模式。 (繼承來源 Control) |
Visible |
取得或設定值,這個值表示伺服器控制項是否呈現為頁面上的UI。 (繼承來源 Control) |
WebPartChrome |
取得 WebPartChrome 對象的參考,這個物件會決定區域中 WebPart 控件的周邊轉譯。 |
WebPartManager |
取得與網頁元件頁面上 WebZone 控件實例相關聯之 WebPartManager 控件的參考。 (繼承來源 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, IDictionary<String,Object>) |
設定指定之數據控制元件的數據表元數據和預設值對應。 |
SetMetaTable(INamingContainer, MetaTable, Object) |
設定指定之數據控制元件的數據表元數據和預設值對應。 |
SetMetaTable(INamingContainer, MetaTable) |
設定指定之數據控制元件的數據表元數據。 |
TryGetMetaTable(INamingContainer, MetaTable) |
判斷數據表元數據是否可用。 |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
啟用指定數據控制件的動態數據行為。 |
EnableDynamicData(INamingContainer, Type, Object) |
啟用指定數據控制件的動態數據行為。 |
EnableDynamicData(INamingContainer, Type) |
啟用指定數據控制件的動態數據行為。 |