ProxyWebPartManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bietet eine Möglichkeit für Entwickler, statische Verbindungen auf einer Inhaltsseite zu deklarieren, wenn ein WebPartManager-Steuerelement auf der zugeordneten Masterseite der Inhaltsseite deklariert wurde.
public ref class ProxyWebPartManager : System::Web::UI::Control
[System.ComponentModel.Bindable(false)]
public class ProxyWebPartManager : System.Web.UI.Control
[<System.ComponentModel.Bindable(false)>]
type ProxyWebPartManager = class
inherit Control
Public Class ProxyWebPartManager
Inherits Control
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die ProxyWebPartManager -Klasse verwendet wird, um statische Verbindungen auf Inhaltsseiten in einer Anwendung zu deklarieren, die Gestaltungsvorlagen verwendet. Das Beispiel umfasst fünf Teile:
Ein Benutzersteuerelement, mit dem Sie den Anzeigemodus für Webparts auf einer Seite ändern können.
Quellcode für eine Schnittstelle und zwei WebPart Steuerelemente, die als Anbieter und Consumer für eine Verbindung fungieren.
Eine Gestaltungsvorlage, die das Benutzersteuerelement, die Inhaltsseiten und das WebPartManager Steuerelement für die Anwendung hostet.
Eine Inhaltswebseite, die ein ProxyWebPartManager -Steuerelement, die beiden benutzerdefinierten WebPart Steuerelemente und eine statische Verbindung zum Verbinden der beiden Steuerelemente hostet.
Eine Erklärung zum Ausführen der Beispielseite.
Der erste Teil dieses Codebeispiels ist das Benutzersteuerelement, mit dem Benutzer die Anzeigemodi auf einer Webseite ändern können. Speichern Sie den folgenden Quellcode in einer ASCX-Datei, und geben Sie ihr den Dateinamen an, der dem Src
Attribut der Register
-Direktive für dieses Benutzersteuerelement zugewiesen ist, das sich am Anfang der Hostingmasterseite befindet. Ausführliche Informationen zu Anzeigemodi und eine Beschreibung des Quellcodes in diesem Steuerelement finden Sie unter Exemplarische Vorgehensweise: Ändern von Anzeigemodi auf einer Webparts-Seite.
<%@ 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"
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>
Der zweite Teil des Codebeispiels ist der Quellcode für die Schnittstelle und steuerelemente. Die Quelldatei enthält eine einfache Schnittstelle namens IZipCode
. Es gibt auch eine WebPart Klasse namens ZipCodeWebPart
, die die -Schnittstelle implementiert und als Anbietersteuerelement fungiert. Die - ProvideIZipCode
Methode ist die Rückrufmethode, die den einzigen Member der Schnittstelle implementiert. Die -Methode gibt einfach eine Instanz der -Schnittstelle zurück. Beachten Sie, dass die -Methode mit einem ConnectionProvider
-Attribut in ihren Metadaten gekennzeichnet ist. Dies ist der Mechanismus zum Identifizieren der Methode als Rückrufmethode für den Verbindungspunkt des Anbieters. Die andere WebPart Klasse heißt WeatherWebPart
, und sie fungiert als Consumer für die Verbindung. Diese Klasse verfügt über eine Methode namens GetZipCode
, die eine Instanz der IZipCode
-Schnittstelle vom Anbietersteuerelement abruft. Beachten Sie, dass diese Methode als Verbindungspunktmethode des Consumers mit einem ConnectionConsumer
-Attribut in den Metadaten gekennzeichnet ist.
Damit das Codebeispiel ausgeführt werden kann, müssen Sie diesen Quellcode kompilieren. Sie können sie explizit kompilieren und die resultierende Assembly im Ordner Bin ihrer Website oder im globalen Assemblycache ablegen. Alternativ können Sie den Quellcode im Ordner App_Code Ihrer Website ablegen, wo er zur Laufzeit dynamisch kompiliert wird. In diesem Codebeispiel wird die dynamische Kompilierung verwendet. Eine exemplarische Vorgehensweise, die das Kompilieren veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Webserversteuerelements.
namespace Samples.AspNet.CS.Controls
{
using System;
using System.Web;
using System.Web.Security;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public interface IZipCode
{
string ZipCode { get; set;}
}
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class ZipCodeWebPart : WebPart, IZipCode
{
string zipCodeText = String.Empty;
TextBox input;
Button send;
public ZipCodeWebPart()
{
}
// Make the implemented property personalizable to save
// the Zip Code between browser sessions.
[Personalizable()]
public virtual string ZipCode
{
get { return zipCodeText; }
set { zipCodeText = value; }
}
// This is the callback method that returns the provider.
[ConnectionProvider("Zip Code Provider", "ZipCodeProvider")]
public IZipCode ProvideIZipCode()
{
return this;
}
protected override void CreateChildControls()
{
Controls.Clear();
input = new TextBox();
this.Controls.Add(input);
send = new Button();
send.Text = "Enter 5-digit Zip Code";
send.Click += new EventHandler(this.submit_Click);
this.Controls.Add(send);
}
private void submit_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(input.Text))
{
zipCodeText = Page.Server.HtmlEncode(input.Text);
input.Text = String.Empty;
}
}
}
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class WeatherWebPart : WebPart
{
private IZipCode _provider;
string _zipSearch;
Label DisplayContent;
// This method is identified by the ConnectionConsumer
// attribute, and is the mechanism for connecting with
// the provider.
[ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")]
public void GetIZipCode(IZipCode Provider)
{
_provider = Provider;
}
protected override void OnPreRender(EventArgs e)
{
EnsureChildControls();
if (this._provider != null)
{
_zipSearch = _provider.ZipCode.Trim();
DisplayContent.Text = "My Zip Code is: " + _zipSearch;
}
}
protected override void CreateChildControls()
{
Controls.Clear();
DisplayContent = new Label();
this.Controls.Add(DisplayContent);
}
}
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
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 Interface IZipCode
Property ZipCode() As String
End Interface
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class ZipCodeWebPart
Inherits WebPart
Implements IZipCode
Private zipCodeText As String = String.Empty
Private input As TextBox
Private send As Button
Public Sub New()
End Sub
' Make the implemented property personalizable to save
' the Zip Code between browser sessions.
<Personalizable()> _
Public Property ZipCode() As String _
Implements IZipCode.ZipCode
Get
Return zipCodeText
End Get
Set(ByVal value As String)
zipCodeText = value
End Set
End Property
' This is the callback method that returns the provider.
<ConnectionProvider("Zip Code Provider", "ZipCodeProvider")> _
Public Function ProvideIZipCode() As IZipCode
Return Me
End Function
Protected Overrides Sub CreateChildControls()
Controls.Clear()
input = New TextBox()
Me.Controls.Add(input)
send = New Button()
send.Text = "Enter 5-digit Zip Code"
AddHandler send.Click, AddressOf Me.submit_Click
Me.Controls.Add(send)
End Sub
Private Sub submit_Click(ByVal sender As Object, _
ByVal e As EventArgs)
If input.Text <> String.Empty Then
zipCodeText = Page.Server.HtmlEncode(input.Text)
input.Text = String.Empty
End If
End Sub
End Class
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class WeatherWebPart
Inherits WebPart
Private _provider As IZipCode
Private _zipSearch As String
Private DisplayContent As Label
' This method is identified by the ConnectionConsumer
' attribute, and is the mechanism for connecting with
' the provider.
<ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")> _
Public Sub GetIZipCode(ByVal Provider As IZipCode)
_provider = Provider
End Sub
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
EnsureChildControls()
If Not (Me._provider Is Nothing) Then
_zipSearch = _provider.ZipCode.Trim()
DisplayContent.Text = "My Zip Code is: " + _zipSearch
End If
End Sub
Protected Overrides Sub CreateChildControls()
Controls.Clear()
DisplayContent = New Label()
Me.Controls.Add(DisplayContent)
End Sub
End Class
End Namespace
Der dritte Teil des Codebeispiels ist die Gestaltungsvorlage. Sie sollten den folgenden Quellcode verwenden und ihn in einer Datei speichern und sie masterPageCS.master oder MasterPageVB.master nennen (je nachdem, welche Sprache Sie verwenden). Beachten Sie, dass die Gestaltungsvorlage eine Register
Anweisung zum Registrieren des Benutzersteuerelements enthält und im Text der Seite auf das Benutzersteuerelement selbst verweist. Die Gestaltungsvorlage deklariert auch das einzelne <asp:webpartmanager>
Element, das für diese Seite und alle zugehörigen Inhaltsseiten verwendet wird. Schließlich verfügt die Gestaltungsvorlage über ein <asp: contentplaceholder>
-Element, das den Punkt auf der Seite deklariert, auf der die Inhaltsseite eingefügt wird.
<%@ Master Language="C#" %>
<%@ 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>Master page with connections in content pages</title>
</head>
<body>
<h2>Contoso, Ltd.</h2>
<hr />
<form id="form1" runat="server">
<asp:webpartmanager runat="server" id="WebPartManager1" />
<uc1:displaymodemenucs id="menu1" runat="server" />
<div>
<asp:contentplaceholder id="ContentPlaceHolder1"
runat="server" />
</div>
</form>
</body>
</html>
<%@ Master Language="VB" %>
<%@ 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 runat="server">
<title>Master page with connections in content pages</title>
</head>
<body>
<h2>Contoso, Ltd.</h2>
<hr />
<form id="form1" runat="server">
<asp:webpartmanager runat="server" id="WebPartManager1" />
<uc1:displaymodemenuvb id="menu1" runat="server" />
<div>
<asp:contentplaceholder id="ContentPlaceHolder1"
runat="server" />
</div>
</form>
</body>
</html>
Der vierte Teil des Codebeispiels ist die Inhaltsseite. Kopieren Sie den folgenden Quellcode, und speichern Sie ihn in einer Datei mit der Erweiterung .aspx. Beachten Sie, dass die - Page
Direktive ein MasterFile
-Attribut enthält, das auf die Gestaltungsvorlage verweist. Außerdem verfügt diese Seite über eine Register
Anweisung zum Registrieren der Datei im Ordner App_Code, der die dynamisch kompilierten benutzerdefinierten WebPart Steuerelemente enthält, die an der Verbindung beteiligt sind. Innerhalb der <asp:content>
Tags der Seite befindet sich ein <asp:proxywebpartmanager>
Element mit einem untergeordneten <staticconnections>
Element, das wiederum über ein untergeordnetes <asp:webpartconnection>
Element verfügt, um die Details der Verbindung zu deklarieren. Innerhalb der <script>
Tags auf der Seite fügt die Button1_Click
-Methode Code hinzu, der auf das Hauptsteuerelement WebPartManager in der Gestaltungsvorlage und das ProxyWebPartManager Steuerelement auf der Inhaltsseite zugreift, und schreibt einige ihrer Details in die Seite.
<%@ Page Language="C#" MasterPageFile="~/MasterPageCS.master"
Title="Connections Page" %>
<%@ Register TagPrefix="aspSample"
Namespace="Samples.AspNet.CS.Controls" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
StringBuilder lblText = new StringBuilder();
if (Page.Master.FindControl("WebPartManager1") != null)
{
WebPartManager theMgr =
(WebPartManager)Page.Master.FindControl("WebPartManager1");
lblText.Append("WebPartManager: <br /><pre>" +
" Master page file is " + Page.MasterPageFile + "<br />" +
" ID is " + theMgr.ID + "<br />" +
" Connection count is " +
theMgr.StaticConnections.Count.ToString() + "<br />" +
" WebParts count is " +
theMgr.WebParts.Count.ToString() + "</pre><br />");
}
if (proxymgr1 != null)
{
lblText.Append("ProxyWebPartManager: <br /><pre>" +
" Content page file is " + Request.Path + "<br />" +
" ID is " + proxymgr1.ID + "<br />" +
" Connection count is " +
proxymgr1.StaticConnections.Count.ToString() +
"</pre><br />");
}
Literal1.Text = lblText.ToString();
}
</script>
<asp:Content ID="Content1" Runat="Server"
ContentPlaceHolderID="ContentPlaceHolder1" >
<asp:proxywebpartmanager id="proxymgr1" runat="server">
<staticconnections>
<asp:webpartconnection id="connection1"
consumerconnectionpointid="ZipCodeConsumer"
consumerid="zipConsumer"
providerconnectionpointid="ZipCodeProvider"
providerid="zipProvider" />
</staticconnections>
</asp:proxywebpartmanager>
<div>
<asp:webpartzone id="zone1" runat="server">
<zonetemplate>
<aspsample:zipcodewebpart id="zipProvider" runat="server"
title="Zip Code Provider" />
<aspsample:weatherwebpart id="zipConsumer" runat="server"
title="Zip Code Consumer" />
</zonetemplate>
</asp:webpartzone>
</div>
<div>
<asp:button id="Button1" runat="server"
text="WebPartManager Information" onclick="Button1_Click" />
<br />
</div>
<asp:connectionszone id="ConnectionsZone1" runat="server" />
<asp:literal id="Literal1" runat="server" />
</asp:Content>
<%@ Page Language="VB" MasterPageFile="~/MasterPageVB.master"
Title="Connections Page" %>
<%@ Register TagPrefix="aspSample"
Namespace="Samples.AspNet.VB.Controls" %>
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
Dim lblText As StringBuilder = New StringBuilder()
If Not (Page.Master.FindControl("WebPartManager1") Is Nothing) Then
Dim theMgr As WebPartManager = _
CType(Page.Master.FindControl("WebPartManager1"), WebPartManager)
lblText.Append("WebPartManager: <br /><pre>" & _
" Master page file is " & Page.MasterPageFile & "<br />" & _
" ID is " & theMgr.ID & "<br />" & _
" Connection count is " & _
theMgr.StaticConnections.Count.ToString() & "<br />" & _
" WebParts count is " & _
theMgr.WebParts.Count.ToString() & "</pre><br />")
End If
If Not (proxymgr1 Is Nothing) Then
lblText.Append("ProxyWebPartManager: <br /><pre>" & _
" Content page file is " & Request.Path & "<br />" & _
" ID is " & proxymgr1.ID & "<br />" & _
" Connection count is " & _
proxymgr1.StaticConnections.Count.ToString() & "</pre><br />")
End If
Literal1.Text = lblText.ToString()
End Sub
</script>
<asp:Content ID="Content1" Runat="Server"
ContentPlaceHolderID="ContentPlaceHolder1" >
<asp:proxywebpartmanager id="proxymgr1" runat="server">
<staticconnections>
<asp:webpartconnection id="connection1"
consumerconnectionpointid="ZipCodeConsumer"
consumerid="zipConsumer"
providerconnectionpointid="ZipCodeProvider"
providerid="zipProvider" />
</staticconnections>
</asp:proxywebpartmanager>
<div>
<asp:webpartzone id="zone1" runat="server">
<zonetemplate>
<aspsample:zipcodewebpart id="zipProvider" runat="server"
title="Zip Code Provider" />
<aspsample:weatherwebpart id="zipConsumer" runat="server"
title="Zip Code Consumer" />
</zonetemplate>
</asp:webpartzone>
</div>
<div>
<asp:button id="Button1" runat="server"
text="WebPartManager Information" onclick="Button1_Click" />
<br />
<asp:literal id="Literal1" runat="server" />
</div>
<asp:connectionszone id="ConnectionsZone1" runat="server" />
</asp:Content>
Nachdem Sie die Seite in einem Browser geladen haben, klicken Sie auf die Schaltfläche WebPartManager-Informationen , und sehen Sie sich die Informationen zum WebPartManager Steuerelement auf der Gestaltungsvorlage und dem ProxyWebPartManager Steuerelement auf der Inhaltsseite an. Beachten Sie beispielsweise, dass beide die gleiche Anzahl in ihren jeweiligen Eigenschaften haben, die statische Verbindungen nachverfolgen (die StaticConnections -Eigenschaft). Beachten Sie auch, dass das WebPartManager Steuerelement zwar über eine WebParts -Eigenschaft verfügt, die die Anzahl der WebPart verwalteten Steuerelemente nachverfolgt, das ProxyWebPartManager Steuerelement jedoch keine solche Eigenschaft aufweist, da sein einziger Zweck darin besteht, statische Verbindungen zu enthalten.
Hinweise
Das ProxyWebPartManager -Steuerelement ist für das spezielle Szenario vorhanden, in dem statische Verbindungen auf Inhaltsseiten deklariert werden, wenn bereits ein WebPartManager Steuerelement in einer Gestaltungsvorlage deklariert wurde.
Standardmäßig muss eine Webseite, die Webparts-Steuerelemente verwendet, ein (und nur ein) WebPartManager Steuerelement enthalten, das alle Webparts-Steuerelemente auf der Seite verwaltet. Wenn eine Webparts-Anwendung Gestaltungsvorlagen verwendet, ist es üblich, das WebPartManager Steuerelement in der Gestaltungsvorlage zu platzieren, da alle Inhaltsseiten zur Laufzeit mit der Gestaltungsvorlage zusammengeführt werden und das einzelne WebPartManager Steuerelement alle Webparts-Steuerelemente aller Inhaltsseiten verwaltet. Wenn Entwickler jedoch statische Verbindungen auf den Inhaltsseiten einer solchen Anwendung deklarieren möchten, kann es vorkommen, dass sie mit einer Einschränkung konfrontiert sind. Eine statische Webparts-Verbindung kann nur deklariert werden, indem ein <asp:webpartconnection>
Element als untergeordnetes Element eines <staticconnections>
Elements hinzugefügt wird, das selbst ein untergeordnetes Element eines <asp:webpartmanager>
Elements sein muss. Da das WebPartManager Steuerelement jedoch bereits auf der Gestaltungsvorlage deklariert wurde und das zulässige WebPartManager Steuerelement ist, können Entwickler keine zusätzlichen WebPartManager Steuerelemente auf den Inhaltsseiten deklarieren, um statische Verbindungen hinzuzufügen.
Das ProxyWebPartManager Steuerelement tritt in diesem Szenario an die Stelle des WebPartManager Steuerelements. Entwickler deklarieren ein <asp:proxywebpartmanager>
Element anstelle eines <asp:webpartmanager>
Elements auf ihren Inhaltsseiten und können dann statische Verbindungen als untergeordnete Elemente deklarieren. Zur Laufzeit werden die Verbindungen im ProxyWebPartManager Steuerelement einfach der StaticConnections Auflistung des WebPartManager Steuerelements hinzugefügt und wie jede andere Verbindung behandelt.
Da das ProxyWebPartManager Steuerelement nur in diesem speziellen Entwicklungsszenario verwendet wird, verfügt es über eine eingeschränktere Funktionalität als die WebPartManager -Klasse. Obwohl das ProxyWebPartManager Steuerelement als Proxy fungiert, um statische Verbindungen für das WebPartManager Steuerelement auf Inhaltsseiten zu enthalten, erbt es nicht vom WebPartManager Steuerelement. Sie erbt direkt von der Control -Klasse und überschreibt nur einige der Basismember. Die EnableThemingEigenschaften , Visibleund SkinID werden überschrieben und zugewiesen, die verhindern, dass sie verwendet werden. Andere geerbte Eigenschaften werden überschrieben, um ihr Entwurfszeitverhalten anzupassen, aber andernfalls weisen sie das gleiche Verhalten wie die Basiseigenschaften auf. Dazu gehören die Controls Eigenschaften und ClientID . Schließlich verfügt die ProxyWebPartManager -Klasse über eine nicht geerbte Eigenschaft. Die StaticConnections -Eigenschaft gibt eine eigene Auflistung statischer Verbindungen (ein ProxyWebPartConnectionCollection -Objekt) zurück.
Was Methoden angeht, so überschreibt die ProxyWebPartManager -Klasse auf ähnliche Weise nur wenige Methoden, hauptsächlich um deren Verwendung einzuschränken. Die geerbte Focus Methode wird unbrauchbar gemacht, indem eine Ausnahme ausgelöst wird, wenn sie aufgerufen wird. Die CreateControlCollection -Methode gibt immer eine leere Steuerelementauflistung zurück, wodurch verhindert wird, dass sie eine Auflistung von Steuerelementen enthalten kann. Schließlich ruft die OnInit -Methode die Basismethode auf und weist dann die Auflistung der Verbindungen, auf die von der StaticConnections -Eigenschaft verwiesen wird, der WebPartManager.StaticConnections -Eigenschaft des WebPartManager -Steuerelements zu. Dies hat den Effekt, dass alle statischen Verbindungen, die auf allen Inhaltsseiten deklariert werden, zusammenrollt und teil der Connections-Auflistung werden, die WebPartManager vom Steuerelement auf der Gestaltungsvorlage verwaltet wird.
Konstruktoren
ProxyWebPartManager() |
Initialisiert eine neue Instanz der ProxyWebPartManager-Klasse. |
Eigenschaften
Adapter |
Ruft den browserspezifischen Adapter für das Steuerelement ab. (Geerbt von Control) |
AppRelativeTemplateSourceDirectory |
Ruft das anwendungsrelative virtuelle Verzeichnis des Page-Objekts oder des UserControl-Objekt ab, das dieses Steuerelement enthält, oder legt dieses Verzeichnis fest. (Geerbt von Control) |
BindingContainer |
Ruft das Steuerelement ab, das die Datenbindung dieses Steuerelements enthält. (Geerbt von Control) |
ChildControlsCreated |
Ruft einen Wert ab, der angibt, ob die untergeordneten Steuerelemente des Serversteuerelements erstellt wurden. (Geerbt von Control) |
ClientID |
Ruft die Steuerelement-ID für HTML-Markup ab, das von ASP.NET generiert wird. |
ClientIDMode |
Ruft den Algorithmus ab, mit dem der Wert der ClientID-Eigenschaft generiert wird, oder legt diesen fest. (Geerbt von Control) |
ClientIDSeparator |
Ruft einen Zeichenwert ab, der das in der ClientID-Eigenschaft verwendete Trennzeichen darstellt. (Geerbt von Control) |
Context |
Ruft das dem Serversteuerelement für die aktuelle Webanforderung zugeordnete HttpContext-Objekt ab. (Geerbt von Control) |
Controls |
Ruft ein ControlCollection-Objekt ab, das die untergeordneten Steuerelemente für ein angegebenes Serversteuerelement in der Hierarchie der Benutzeroberfläche darstellt. |
DataItemContainer |
Ruft einen Verweis auf den Namenscontainer ab, wenn vom Namenscontainer IDataItemContainer implementiert wird. (Geerbt von Control) |
DataKeysContainer |
Ruft einen Verweis auf den Namenscontainer ab, wenn vom Namenscontainer IDataKeysControl implementiert wird. (Geerbt von Control) |
DesignMode |
Ruft einen Wert ab, der angibt, ob ein Steuerelement auf einer Entwurfsoberfläche verwendet wird. (Geerbt von Control) |
EnableTheming |
Überschreibt die Basiseigenschaft, damit keine Designs verwendet werden. |
EnableViewState |
Ruft einen Wert ab, der dem anfordernden Client angibt, ob das Serversteuerelement seinen Ansichtszustand sowie den Ansichtszustand von jedem enthaltenen untergeordneten Steuerelement beibehält, oder legt diesen fest. (Geerbt von Control) |
Events |
Ruft eine Liste von Ereignishandlerdelegaten für das Steuerelement ab. Diese Eigenschaft ist schreibgeschützt. (Geerbt von Control) |
HasChildViewState |
Ruft einen Wert ab, der angibt, ob in den untergeordneten Steuerelementen des aktuellen Serversteuerelements gespeicherte Einstellungen für den Ansichtszustand vorhanden sind. (Geerbt von Control) |
ID |
Ruft den programmgesteuerten Bezeichner ab, der dem Serversteuerelement zugewiesen ist, oder legt diesen fest. (Geerbt von Control) |
IdSeparator |
Ruft das als Trennzeichen für Steuerelementbezeichner verwendete Zeichen ab. (Geerbt von Control) |
IsChildControlStateCleared |
Ruft einen Wert ab, der angibt, ob in diesem Steuerelements enthaltene Steuerelemente über einen Steuerelementzustand verfügen. (Geerbt von Control) |
IsTrackingViewState |
Ruft einen Wert ab, der angibt, ob das Serversteuerelement Änderungen des Ansichtszustands speichert. (Geerbt von Control) |
IsViewStateEnabled |
Ruft einen Wert ab, der angibt, ob der Ansichtszustand für dieses Steuerelement aktiviert ist. (Geerbt von Control) |
LoadViewStateByID |
Ruft einen Wert ab, der angibt, ob das Steuerelement seinen Ansichtszustand über ID anstatt über den Index lädt. (Geerbt von Control) |
NamingContainer |
Ruft einen Verweis auf den Benennungscontainer des Serversteuerelements ab, der einen eindeutigen Namespace erstellt, damit zwischen Serversteuerelementen mit demselben ID-Eigenschaftswert unterschieden werden kann. (Geerbt von Control) |
Page |
Ruft einen Verweis auf die Page-Instanz ab, die das Serversteuerelement enthält. (Geerbt von Control) |
Parent |
Ruft einen Verweis auf das übergeordnete Steuerelement des Serversteuerelements in der Steuerelementhierarchie der Seite ab. (Geerbt von Control) |
RenderingCompatibility |
Ruft einen Wert ab, der die ASP.NET-Version angibt, mit der gerenderte HTML-Objekte kompatibel sind. (Geerbt von Control) |
Site |
Ruft Informationen zum Container ab, der das aktuelle Steuerelement hostet, wenn es auf einer Entwurfsoberfläche gerendert wird. (Geerbt von Control) |
SkinID |
Überschreibt die Basiseigenschaft, damit kein Wert zugewiesen wird. |
StaticConnections |
Lässt innerhalb des |
TemplateControl |
Ruft einen Verweis auf die Vorlage ab, die dieses Steuerelement enthält, oder legt den Verweis fest. (Geerbt von Control) |
TemplateSourceDirectory |
Ruft das virtuelle Verzeichnis der Page oder des UserControl ab, in dem das aktuelle Serversteuerelement enthalten ist. (Geerbt von Control) |
UniqueID |
Ruft den eindeutigen, hierarchisierten Bezeichner für das Serversteuerelement ab. (Geerbt von Control) |
ValidateRequestMode |
Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Steuerelement Clienteingaben des Browser auf gefährliche Werte überprüft. (Geerbt von Control) |
ViewState |
Ruft ein Wörterbuch mit Zustandsinformationen ab, mit dem Sie den Ansichtszustand eines Serversteuerelements über mehrere Anforderungen für dieselbe Seite hinweg speichern und wiederherstellen können. (Geerbt von Control) |
ViewStateIgnoresCase |
Ruft einen Wert ab, der angibt, ob bei dem StateBag-Objekt die Groß- und Kleinschreibung nicht berücksichtigt wird. (Geerbt von Control) |
ViewStateMode |
Ruft den Ansichtszustandsmodus des Steuerelements ab oder legt ihn fest. (Geerbt von Control) |
Visible |
Überschreibt die Basiseigenschaft, damit kein Wert zugewiesen wird. |
Methoden
AddedControl(Control, Int32) |
Wird aufgerufen, nachdem ein untergeordnetes Steuerelement zur Controls-Auflistung des Control-Objekts hinzugefügt wurde. (Geerbt von Control) |
AddParsedSubObject(Object) |
Benachrichtigt das Serversteuerelement, dass entweder ein XML-Element oder HTML-Element analysiert wurde, und fügt das Element dem ControlCollection-Objekt des Serversteuerelements hinzu. (Geerbt von Control) |
ApplyStyleSheetSkin(Page) |
Übernimmt die im Stylesheet der Seite definierten Stileigenschaften für das Steuerelement. (Geerbt von Control) |
BeginRenderTracing(TextWriter, Object) |
Startet die Entwurfszeitablaufverfolgung des Renderns von Daten. (Geerbt von Control) |
BuildProfileTree(String, Boolean) |
Sammelt Informationen zum Serversteuerelement und übermittelt sie an die Trace-Eigenschaft, sodass diese angezeigt werden, wenn die Ablaufverfolgung für die Seite aktiviert ist. (Geerbt von Control) |
ClearCachedClientID() |
Legt den zwischengespeicherten ClientID-Wert auf |
ClearChildControlState() |
Löscht die Informationen zum Steuerelementzustand für die untergeordneten Steuerelemente des Serversteuerelements. (Geerbt von Control) |
ClearChildState() |
Löscht die Informationen zum Ansichtszustand sowie zum Steuerelementzustand für alle untergeordneten Steuerelemente des Serversteuerelements. (Geerbt von Control) |
ClearChildViewState() |
Löscht die Informationen über den Ansichtszustand für alle untergeordneten Steuerelemente des Serversteuerelements. (Geerbt von Control) |
ClearEffectiveClientIDMode() |
Legt die ClientIDMode-Eigenschaft der aktuellen Steuerelementinstanz und aller untergeordneten Steuerelemente auf Inherit fest. (Geerbt von Control) |
CreateChildControls() |
Wird durch das ASP.NET-Seitenframework aufgerufen, um Serversteuerelemente anzuweisen, die eine kompositionsbasierte Implementierung verwenden, um alle untergeordneten Steuerelemente zu erstellen, die sie in Vorbereitung auf ein Postback oder Rendering enthalten. (Geerbt von Control) |
CreateControlCollection() |
Überschreibt die Basiseigenschaft, damit das ProxyWebPartManager-Steuerelement keine Steuerelemente enthält. |
DataBind() |
Bindet eine Datenquelle an das aufgerufene Serversteuerelement und alle untergeordneten Steuerelemente. (Geerbt von Control) |
DataBind(Boolean) |
Bindet eine Datenquelle an das aufgerufene Serversteuerelement und alle untergeordneten Steuerelemente mit der Option, das DataBinding-Ereignis auszulösen. (Geerbt von Control) |
DataBindChildren() |
Bindet eine Datenquelle an die untergeordneten Steuerelemente des Serversteuerelements. (Geerbt von Control) |
Dispose() |
Ermöglicht es einem Serversteuerelement, die letzte Bereinigung durchzuführen, bevor es aus dem Speicher freigegeben wird. (Geerbt von Control) |
EndRenderTracing(TextWriter, Object) |
Beendet die Entwurfszeitablaufverfolgung des Renderns von Daten. (Geerbt von Control) |
EnsureChildControls() |
Stellt fest, ob das Serversteuerelement untergeordnete Steuerelemente enthält. Wenn das nicht der Fall ist, werden untergeordnete Steuerelemente erstellt. (Geerbt von Control) |
EnsureID() |
Erstellt einen Bezeichner für Steuerelemente, die nicht über einen zugewiesenen Bezeichner verfügen. (Geerbt von Control) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindControl(String) |
Durchsucht den aktuellen Benennungscontainer nach dem angegebenen Serversteuerelement mit dem angegebenen |
FindControl(String, Int32) |
Durchsucht den aktuellen Benennungscontainer nach einem Serversteuerelement mit der angegebenen |
Focus() |
Überschreibt die Basismethode, damit die Methode nicht aufgerufen wird. |
GetDesignModeState() |
Ruft die Entwurfszeitdaten für ein Steuerelement ab. (Geerbt von Control) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetRouteUrl(Object) |
Ruft die URL ab, die einem Satz von Routenparametern entspricht. (Geerbt von Control) |
GetRouteUrl(RouteValueDictionary) |
Ruft die URL ab, die einem Satz von Routenparametern entspricht. (Geerbt von Control) |
GetRouteUrl(String, Object) |
Ruft die URL ab, die einem Satz von Routenparametern und einem Routennamen entspricht. (Geerbt von Control) |
GetRouteUrl(String, RouteValueDictionary) |
Ruft die URL ab, die einem Satz von Routenparametern und einem Routennamen entspricht. (Geerbt von Control) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetUniqueIDRelativeTo(Control) |
Gibt den mit einem Präfix versehenen Abschnitt der UniqueID-Eigenschaft des angegebenen Steuerelements zurück. (Geerbt von Control) |
HasControls() |
Ermittelt, ob das Serversteuerelement untergeordnete Steuerelemente enthält. (Geerbt von Control) |
HasEvents() |
Gibt einen Wert zurück, der angibt, ob Ereignisse für das Steuerelement oder für untergeordnete Steuerelemente registriert werden. (Geerbt von Control) |
IsLiteralContent() |
Ermittelt, ob das Serversteuerelement nur literalen Inhalt enthält. (Geerbt von Control) |
LoadControlState(Object) |
Stellt die Informationen zum Steuerelementzustand aus einer früheren Seitenanforderung wieder her, die durch die SaveControlState()-Methode gespeichert wurden. (Geerbt von Control) |
LoadViewState(Object) |
Stellt die Informationen über den Ansichtszustand aus einer früheren Seitenanforderung wieder her, die mit der SaveViewState()-Methode gespeichert wurden. (Geerbt von Control) |
MapPathSecure(String) |
Ruft den physikalischen Pfad ab, auf den ein absoluter bzw. relativer virtueller Pfad verweist. (Geerbt von Control) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnBubbleEvent(Object, EventArgs) |
Bestimmt, ob das Ereignis für das Serversteuerelement in der UI-Serversteuerelementhierarchie der Seite nach oben übergeben wird. (Geerbt von Control) |
OnDataBinding(EventArgs) |
Löst das DataBinding-Ereignis aus. (Geerbt von Control) |
OnInit(EventArgs) |
Löst das Init-Ereignis aus und initialisiert das Steuerelement. |
OnLoad(EventArgs) |
Löst das Load-Ereignis aus. (Geerbt von Control) |
OnPreRender(EventArgs) |
Löst das PreRender-Ereignis aus. (Geerbt von Control) |
OnUnload(EventArgs) |
Löst das Unload-Ereignis aus. (Geerbt von Control) |
OpenFile(String) |
Ruft einen Stream zum Lesen einer Datei ab. (Geerbt von Control) |
RaiseBubbleEvent(Object, EventArgs) |
Weist dem übergeordneten Element des Steuerelements alle Ereignisquellen und zugehörige Informationen zu. (Geerbt von Control) |
RemovedControl(Control) |
Wird aufgerufen, nachdem ein untergeordnetes Steuerelement aus der Controls-Auflistung des Control-Objekts entfernt wurde. (Geerbt von Control) |
Render(HtmlTextWriter) |
Sendet den Inhalt des Steuerelements an ein angegebenes HtmlTextWriter-Objekt, das den auf dem Client zu rendernden Inhalt schreibt. (Geerbt von Control) |
RenderChildren(HtmlTextWriter) |
Gibt den Inhalt der untergeordneten Elemente eines Serversteuerelements an ein bereitgestelltes HtmlTextWriter-Objekt aus, das den auf dem Client zu rendernden Inhalt schreibt. (Geerbt von Control) |
RenderControl(HtmlTextWriter) |
Gibt Inhalte von Serversteuerelementen an ein bereitgestelltes HtmlTextWriter-Objekt aus und speichert Ablaufverfolgungsinformationen zum Steuerelement, sofern die Ablaufverfolgung aktiviert ist. (Geerbt von Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Gibt Inhalte von Serversteuerelementen mithilfe eines bereitgestellten HtmlTextWriter-Objekts an ein bereitgestelltes ControlAdapter-Objekt aus. (Geerbt von Control) |
ResolveAdapter() |
Ruft den Steuerelementadapter ab, der für das Rendern des angegebenen Steuerelements verantwortlich ist. (Geerbt von Control) |
ResolveClientUrl(String) |
Ruft eine URL ab, die vom Browser verwendet werden kann. (Geerbt von Control) |
ResolveUrl(String) |
Konvertiert eine URL in eine vom anfordernden Client verwendbare URL. (Geerbt von Control) |
SaveControlState() |
Speichert alle Zustandsänderungen des Serversteuerelements, die seit dem Zeitpunkt aufgetreten sind, zu dem die Seite an den Server zurückgesendet wurde. (Geerbt von Control) |
SaveViewState() |
Speichert alle Ansichtszustandsänderungen des Serversteuerelements, die seit dem Zeitpunkt aufgetreten sind, zu dem die Seite an den Server zurückgesendet wurde. (Geerbt von Control) |
SetDesignModeState(IDictionary) |
Legt die Entwurfszeitdaten für ein Steuerelement fest. (Geerbt von Control) |
SetRenderMethodDelegate(RenderMethod) |
Beauftragt einen Ereignishandlerdelegaten, das Serversteuerelement und seinen Inhalt im übergeordneten Steuerelement zu rendern. (Geerbt von Control) |
SetTraceData(Object, Object) |
Legt Ablaufverfolgungsdaten für die Nachverfolgung der Entwurfszeit von Rendering-Daten mithilfe des Ablaufverfolgungsdatenschlüssels und Ablaufverfolgungsdatenwerts fest. (Geerbt von Control) |
SetTraceData(Object, Object, Object) |
Legt Ablaufverfolgungsdaten für die Nachverfolgung der Entwurfszeit von Rendering-Daten mithilfe des verfolgten Objekts, des Ablaufverfolgungsdatenschlüssels und Ablaufverfolgungsdatenwerts fest. (Geerbt von Control) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
TrackViewState() |
Veranlasst die Überwachung von Änderungen am Ansichtszustand des Serversteuerelements, sodass die Änderungen im StateBag-Objekt des Serversteuerelements gespeichert werden können. Auf dieses Objekt kann über die ViewState-Eigenschaft zugegriffen werden. (Geerbt von Control) |
Ereignisse
DataBinding |
Tritt ein, wenn das Serversteuerelement eine Bindung an eine Datenquelle durchführt. (Geerbt von Control) |
Disposed |
Tritt ein, wenn ein Serversteuerelement im Speicher freigegeben wird. Dies ist die letzte Stufe des Lebenszyklus des Serversteuerelements bei der Anforderung einer ASP.NET-Seite. (Geerbt von Control) |
Init |
Tritt bei der Initialisierung des Serversteuerelements ein. Dies ist der erste Schritt in dessen Lebenszyklus. (Geerbt von Control) |
Load |
Tritt ein, wenn das Serversteuerelement in das Page-Objekt geladen wird. (Geerbt von Control) |
PreRender |
Tritt nach dem Laden des Control-Objekts, jedoch vor dem Rendern ein. (Geerbt von Control) |
Unload |
Tritt ein, wenn das Serversteuerelement aus dem Speicher entladen wird. (Geerbt von Control) |
Explizite Schnittstellenimplementierungen
IControlBuilderAccessor.ControlBuilder |
Eine Beschreibung dieses Elements finden Sie unter ControlBuilder. (Geerbt von Control) |
IControlDesignerAccessor.GetDesignModeState() |
Eine Beschreibung dieses Elements finden Sie unter GetDesignModeState(). (Geerbt von Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Eine Beschreibung dieses Elements finden Sie unter SetDesignModeState(IDictionary). (Geerbt von Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Eine Beschreibung dieses Elements finden Sie unter SetOwnerControl(Control). (Geerbt von Control) |
IControlDesignerAccessor.UserData |
Eine Beschreibung dieses Elements finden Sie unter UserData. (Geerbt von Control) |
IDataBindingsAccessor.DataBindings |
Eine Beschreibung dieses Elements finden Sie unter DataBindings. (Geerbt von Control) |
IDataBindingsAccessor.HasDataBindings |
Eine Beschreibung dieses Elements finden Sie unter HasDataBindings. (Geerbt von Control) |
IExpressionsAccessor.Expressions |
Eine Beschreibung dieses Elements finden Sie unter Expressions. (Geerbt von Control) |
IExpressionsAccessor.HasExpressions |
Eine Beschreibung dieses Elements finden Sie unter HasExpressions. (Geerbt von Control) |
IParserAccessor.AddParsedSubObject(Object) |
Eine Beschreibung dieses Elements finden Sie unter AddParsedSubObject(Object). (Geerbt von Control) |
Erweiterungsmethoden
FindDataSourceControl(Control) |
Gibt die Datenquelle zurück, die dem Datensteuerelement für das angegebene Steuerelement zugeordnet ist. |
FindFieldTemplate(Control, String) |
Gibt die Feldvorlage für die angegebene Spalte im Benennungscontainer des angegebenen Steuerelements zurück. |
FindMetaTable(Control) |
Gibt das Metatabellenobjekt für das enthaltende Datensteuerelement zurück. |