WebPartManager controle de servidor Web Declarative sintaxe
Serve sistema autônomo a classe central do conjunto de controles de Web Parts, gerenciando todas sistema autônomo a Web Parts controles, funcionalidade e eventos que ocorrem em uma página da Web.
<asp:WebPartManager
CloseProviderWarning="string"
DeleteWarning="string"
EnableClientScript="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
ExportSensitiveDataWarning="string"
ID="string"
OnAuthorizeWebPart="AuthorizeWebPart event handler"
OnConnectionsActivated="ConnectionsActivated event handler"
OnConnectionsActivating="ConnectionsActivating event handler"
OnDataBinding="DataBinding event handler"
OnDisplayModeChanged="DisplayModeChanged event handler"
OnDisplayModeChanging="DisplayModeChanging event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnSelectedWebPartChanged="SelectedWebPartChanged event handler"
OnSelectedWebPartChanging="SelectedWebPartChanging event handler"
OnUnload="Unload event handler"
OnWebPartAdded="WebPartAdded event handler"
OnWebPartAdding="WebPartAdding event handler"
OnWebPartClosed="WebPartClosed event handler"
OnWebPartClosing="WebPartClosing event handler"
OnWebPartDeleted="WebPartDeleted event handler"
OnWebPartDeleting="WebPartDeleting event handler"
OnWebPartMoved="WebPartMoved event handler"
OnWebPartMoving="WebPartMoving event handler"
OnWebPartsConnected="WebPartsConnected event handler"
OnWebPartsConnecting="WebPartsConnecting event handler"
OnWebPartsDisconnected="WebPartsDisconnected event handler"
OnWebPartsDisconnecting="WebPartsDisconnecting event handler"
Personalization-Enabled="True|False"
Personalization-InitialScope="User|Shared"
Personalization-ProviderName="string"
runat="server"
SkinID="string"
>
<Personalization
Enabled="True|False"
InitialScope="User|Shared"
ProviderName="string" />
<StaticConnections>
<asp:WebPartConnection
ConsumerConnectionPointID="string"
ConsumerID="string"
ID="string"
ProviderConnectionPointID="string"
ProviderID="string" >
<asp:RowToFieldTransformer
FieldName="string" />
<asp:RowToParametersTransformer
ConsumerFieldNames="string"
ProviderFieldNames="string"/>
</asp:WebPartConnection>
</StaticConnections>
</asp:WebPartManager>
Comentários
The WebPartManager controle atua sistema autônomo o centralizar de hub ou um controle de um aplicativo Web Parts. Deve haver um — e somente um — a instância do WebPartManager controle em cada página que usa controles de Web Parts e deve ser colocado antes de qualquer controle de zona são colocados. sistema autônomo ocorre com a maioria dos aspectos de aplicativos de Web Parts, a WebPartManager controle funciona somente com usuários autenticados. Além disso, sua funcionalidade funciona quase que totalmente com os controles de servidor que residem nas zonas de Web Parts que herdam o WebZone classe. Controles de servidor que residem em uma página fora de nessas zonas podem ter muito pouca funcionalidade Web Parts ou interação com o WebPartManager controle.
Para obter mais informações sobre o WebPartManager e controles Web Parts, consulte ASP.NET Web Parts Controls.
Exemplo
O exemplo de código a seguir demonstra como usar o WebPartManager controle declarativamente em um cenário de Web Parts usando o Calendar controle. A página da Web permite que um usuário entrar no modo de edição para editar determinados aspectos do Calendar controle. The Alternar escopo botão alterna a página ao usuário ou o escopo de personalização compartilhado. The modo de edição and Procurar de modo botões cada comutador a página no modo de exibição apropriado. Observe que no <script> seção do arquivo, dois dos métodos que lidam com o uso de eventos de marca a Personalization propriedade para acessar membros útil do objeto base. Especificamente, esses métodos usam o ToggleScope método e o Scope propriedade no objeto que é acessado através do Personalization propriedade.
No exemplo de código seja executado, você também deve ativar um ou mais usuários personalizar páginas no escopo compartilhado. Para fazer isso, adicione uma entrada para o arquivo Web.config no webParts elemento (ASP.NET Settings esquema).
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If ((mgr1.Personalization.Scope = PersonalizationScope.User) _
And (mgr1.Personalization.CanEnterSharedScope)) Then
mgr1.Personalization.ToggleScope()
ElseIf (mgr1.Personalization.Scope = PersonalizationScope.Shared) Then
mgr1.Personalization.ToggleScope()
Else
'If the user cannot enter shared scope you may want
' to notify them on the page.
End If
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
mgr1.DisplayMode = WebPartManager.EditDisplayMode
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs)
mgr1.DisplayMode = WebPartManager.BrowseDisplayMode
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As CommandEventArgs)
Label1.Text = "Scope is: " _
+ mgr1.Personalization.Scope.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>Web Parts Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:LoginName id="LoginName1" runat="server" />
<asp:WebPartManager id="mgr1" runat="server">
<Personalization InitialScope="Shared" Enabled="True" />
</asp:WebPartManager>
<asp:WebPartZone id="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar id="Calendar1" runat="server" />
</ZoneTemplate>
<CloseVerb Text="Close This Part" />
<MinimizeVerb Text="Minimize This Part" />
<EditVerb Text="Edit This Part" />
</asp:WebPartZone>
<asp:EditorZone id="EditorZone1" runat="server">
<ZoneTemplate>
<asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
<asp:AppearanceEditorPart id="AppearanceEditorPart1"
runat="server" BackColor="LightGray" />
<asp:BehaviorEditorPart id="BehaviorEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<hr />
<asp:Button id="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click" />
<asp:Button id="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
<asp:Button id="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
<br />
<asp:Label id="Label1" runat="server" Text="" />
</div>
</form>
</body>
</html>
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
if ((mgr1.Personalization.Scope == PersonalizationScope.User)
&& (mgr1.Personalization.CanEnterSharedScope))
{
mgr1.Personalization.ToggleScope();
}
else if (mgr1.Personalization.Scope ==
PersonalizationScope.Shared)
{
mgr1.Personalization.ToggleScope();
}
else
{
// If the user cannot enter shared scope you may want
// to notify them on the page.
}
}
protected void Button2_Click(object sender, EventArgs e)
{
mgr1.DisplayMode = WebPartManager.EditDisplayMode;
}
protected void Button3_Click(object sender, EventArgs e)
{
mgr1.DisplayMode = WebPartManager.BrowseDisplayMode;
}
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "Scope is: "
+ mgr1.Personalization.Scope.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>Web Parts Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:LoginName id="LoginName1" runat="server" />
<asp:WebPartManager id="mgr1" runat="server">
<Personalization InitialScope="Shared" Enabled="True" />
</asp:WebPartManager>
<asp:WebPartZone id="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar id="Calendar1" runat="server" />
</ZoneTemplate>
<CloseVerb Text="Close This Part" />
<MinimizeVerb Text="Minimize This Part" />
<EditVerb Text="Edit This Part" />
</asp:WebPartZone>
<asp:EditorZone id="EditorZone1" runat="server">
<ZoneTemplate>
<asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
<asp:AppearanceEditorPart id="AppearanceEditorPart1"
runat="server" BackColor="LightGray" />
<asp:BehaviorEditorPart id="BehaviorEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<hr />
<asp:Button id="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click" />
<asp:Button id="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
<asp:Button id="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
<br />
<asp:Label id="Label1" runat="server" Text="" />
</div>
</form>
</body>
</html>