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 类。 代码演示如何在 Web 部件页中以声明方式使用派生类 WebPartZone来包含 WebPart 控件。 该代码示例包含四个部分:前三个部分描述代码文件,第四部分说明如何运行代码。
代码示例的第一部分是用户控件,使用户能够将页面切换到不同的显示模式。 有关 Web 部件显示模式和此控件中代码的说明的详细信息,请参阅 演练:更改 Web 部件页上的显示模式。
<%@ 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 对象。
除了从 WebZone 类继承的功能外, WebPartZoneBase 类还添加了客户端控件拖动、特定谓词 (,以启用常见 UI 操作,例如最小化、关闭、删除和编辑控件) 以及其他样式功能。 如果要设计数据库驱动的自定义区域,类 WebPartZoneBase 也是要继承的类。 例如,可以创建继承自 WebPartZoneBase的自定义天气 Web 部件区域,旨在包含和提供数据绑定和显示天气信息的控件的布局功能和其他服务 WebPart 。
类 WebPartZoneBase 包含许多属性,用于处理区域中的样式属性。 边框有多个属性,包括 BorderStyle 和 BorderWidth。 有一组属性用于处理菜单的样式属性,这些属性可以出现在区域的标头中,例如 MenuLabelStyle、 MenuVerbStyle和其他属性。
类 WebPartZoneBase 还包含多个成员,用于处理区域中的谓词。 这些成员与区域中部件控件上出现的谓词相关。 虽然区域级谓词可以添加到 WebPartZoneBase 区域,但默认情况下,它们没有任何。 Web 部件控件集提供了一组标准谓词,用于部件控件,开发人员也可以添加自定义谓词。 使用谓词的一些重要属性包括引用某些标准谓词对象的属性,例如 CloseVerb、、 ConnectVerbDeleteVerb和 EditVerb和 HelpVerbMinimizeVerb。 标准谓词显示在谓词菜单上, (通常在 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 |
获取或设置使您得以快速导航到 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 标记的控件 ID。 (继承自 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 |
获取控件的事件处理程序委托列表。 此属性为只读。 (继承自 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 |
获取或设置在区域中每个 WebPart 控件的谓词菜单中被用作选中标记的图像的 URL。 |
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 |
获取对页 UI 层次结构中服务器控件的父控件的引用。 (继承自 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 |
获取与区域中的 Web 部件控件关联的用户界面 (UI) 谓词的样式特性。 (继承自 WebZone) |
ViewState |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。 (继承自 Control) |
ViewStateIgnoresCase |
获取一个值,该值指示 StateBag 对象是否不区分大小写。 (继承自 Control) |
ViewStateMode |
获取或设置此控件的视图状态模式。 (继承自 Control) |
Visible |
获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 (继承自 Control) |
WebPartChrome |
获取对 WebPartChrome 对象的引用,该对象确定区域中 WebPart 控件的外围呈现。 |
WebPartManager |
获取对与 Web 部件页上的 WebPartManager 控件实例关联的 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) |
为指定数据控件启用动态数据行为。 |