WebPart.AllowClose Eigenschaft
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.
Ruft einen Wert ab, der angibt, ob ein Endbenutzer ein WebPart-Steuerelement auf einer Webseite schließen kann, oder legt diesen Wert fest.
public:
virtual property bool AllowClose { bool get(); void set(bool value); };
[System.Web.UI.Themeable(false)]
[System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)]
public virtual bool AllowClose { get; set; }
[<System.Web.UI.Themeable(false)>]
[<System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)>]
member this.AllowClose : bool with get, set
Public Overridable Property AllowClose As Boolean
Eigenschaftswert
true
, wenn Steuerelemente auf einer Webseite geschlossen werden können, andernfalls false
. Der Standardwert ist true
.
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie die Standardeinstellung der AllowClose Eigenschaft für ein benutzerdefiniertes WebPart Steuerelement ändern, sodass sie nicht geschlossen werden kann.
Der erste Teil dieses Beispiels enthält den Code für ein benutzerdefiniertes WebPart Steuerelement namens TextDisplayWebPart
. Beachten Sie, dass in dem Konstruktor des benutzerdefinierten Steuerelements die TextDisplayWebPart.AllowClose
Eigenschaft festgelegt false
ist, auf die die Wirkung besteht, dass Benutzer das Steuerelement auf einer Webseite schließen. Dies bedeutet, dass das Schließen-Verb im Menü "Verben" des Steuerelements für Benutzer deaktiviert wird. Zum Ausführen des Codebeispiels müssen Sie diesen Quellcode kompilieren. Sie können es explizit kompilieren und die resultierende Assembly in den Bin-Ordner Ihrer Website oder den globalen Assemblycache einfügen. Alternativ können Sie den Quellcode in den App_Code Ordner Ihrer Website einfügen, wo sie zur Laufzeit dynamisch kompiliert wird. In diesem Codebeispiel wird davon ausgegangen, dass Sie den Quellcode in eine Assembly kompilieren, sie in einem Bin-Unterordner Ihrer Webanwendung platzieren und auf die Assembly mit einer Register
Richtlinie auf Ihrer Webseite verweisen. Eine exemplarische Vorgehensweise, die beide Methoden der Kompilierung veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Entwickeln und Verwenden eines benutzerdefinierten Webserversteuerelements.
using System;
using System.Security.Permissions;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal)]
public class TextDisplayWebPart : WebPart
{
private String _contentText = null;
TextBox input;
Label DisplayContent;
public TextDisplayWebPart()
{
this.AllowClose = false;
}
[Personalizable(), WebBrowsable]
public String ContentText
{
get { return _contentText; }
set { _contentText = value; }
}
protected override void CreateChildControls()
{
Controls.Clear();
DisplayContent = new Label();
DisplayContent.BackColor =
System.Drawing.Color.LightBlue;
DisplayContent.Text = this.ContentText;
this.Controls.Add(DisplayContent);
input = new TextBox();
this.Controls.Add(input);
Button update = new Button();
update.Text = "Set Label Content";
update.Click += new EventHandler(this.submit_Click);
this.Controls.Add(update);
ChildControlsCreated = true;
}
private void submit_Click(object sender, EventArgs e)
{
// Update the label string.
if (!string.IsNullOrEmpty(input.Text))
{
_contentText = input.Text + @"<br />";
input.Text = String.Empty;
DisplayContent.Text = this.ContentText;
}
}
}
}
Imports System.Security.Permissions
Imports System.Web
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 Class TextDisplayWebPart
Inherits WebPart
Private _contentText As String = Nothing
Private input As TextBox
Private DisplayContent As Label
Public Sub New()
Me.AllowClose = False
End Sub
<Personalizable(), WebBrowsable()> _
Public Property ContentText() As String
Get
Return _contentText
End Get
Set
_contentText = value
End Set
End Property
Protected Overrides Sub CreateChildControls()
Controls.Clear()
DisplayContent = New Label()
DisplayContent.Text = Me.ContentText
DisplayContent.BackColor = _
System.Drawing.Color.LightBlue
Me.Controls.Add(DisplayContent)
input = New TextBox()
Me.Controls.Add(input)
Dim update As New Button()
update.Text = "Set Label Content"
AddHandler update.Click, AddressOf Me.submit_Click
Me.Controls.Add(update)
ChildControlsCreated = True
End Sub
Private Sub submit_Click(ByVal sender As Object, _
ByVal e As EventArgs)
' Update the label string.
If input.Text <> String.Empty Then
_contentText = input.Text & "<br />"
input.Text = String.Empty
DisplayContent.Text = Me.ContentText
End If
End Sub
End Class
End Namespace
Im zweiten Teil des Beispiels wird gezeigt, wie auf das TextDisplayWebPart
Steuerelement auf eine ASP.NET-Webseite verwiesen wird. Beachten Sie, dass im <aspSample:TextDisplayWebPart>
Element, das auf das Steuerelement verweist, auch den Wert der Eigenschaft ändern können, die vom Konstruktor des Steuerelements festgelegt wurde. Um das Steuerelement zu schließen, fügen Sie einfach dem Element im deklarativen Markup ein AllowClose="true"
Attribut hinzu.
<%@ page language="C#" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls"
Assembly="TextDisplayWebPartCS"%>
<!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>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<asp:webpartzone
id="WebPartZone1"
runat="server"
title="Zone 1"
PartChromeType="TitleAndBorder">
<parttitlestyle font-bold="true" ForeColor="#3300cc" />
<partstyle
borderwidth="1px"
borderstyle="Solid"
bordercolor="#81AAF2" />
<zonetemplate>
<aspSample:TextDisplayWebPart
runat="server"
id="textwebpart"
title = "Text Content WebPart" />
</zonetemplate>
</asp:webpartzone>
</form>
</body>
</html>
<%@ page language="VB" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls"
Assembly="TextDisplayWebPartVB"%>
<!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>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<asp:webpartzone
id="WebPartZone1"
runat="server"
title="Zone 1"
PartChromeType="TitleAndBorder">
<parttitlestyle font-bold="true" ForeColor="#3300cc" />
<partstyle
borderwidth="1px"
borderstyle="Solid"
bordercolor="#81AAF2" />
<zonetemplate>
<aspSample:TextDisplayWebPart
runat="server"
id="textwebpart"
title = "Text Content WebPart" />
</zonetemplate>
</asp:webpartzone>
</form>
</body>
</html>
Hinweise
Nachdem ein Benutzer ein WebPart Steuerelement auf einer Webseite geschlossen hat, ist das Steuerelement nicht mehr sichtbar oder auf der Seite verfügbar. Das geschlossene Steuerelement wird dem Seitenkatalog hinzugefügt, eine Webparts Entität, die einen Verweis auf das Steuerelement speichert. Wenn ein Entwickler der Seite innerhalb eines CatalogZone Steuerelements ein PageCatalogPart Steuerelement hinzufügt, können Benutzer die Seite zum Kataloganzeigemodus wechseln, das geschlossene Steuerelement im Seitenkatalog auswählen und es zur Seite hinzufügen.
Hinweis
Ein geschlossenes WebPart Steuerelement kann einer Seite entweder programmgesteuert oder von einem Benutzer hinzugefügt werden, der das geschlossene Steuerelement aus dem Seitenkatalog auswählt, wenn sich die Seite im Kataloganzeigemodus befindet.
Das Schließen eines WebPart Steuerelements unterscheidet sich vom Löschen. Ein geschlossenes Steuerelement kann zurück zu einer Seite hinzugefügt werden, während ein gelöschtes Steuerelement dauerhaft entfernt wird. Weitere Informationen zum Löschen von Steuerelementen finden Sie in der DeleteWebPart Methode. Das Schließen eines Steuerelements unterscheidet sich auch vom Ausblenden. Ein Steuerelement, das auf der Seite ausgeblendet ist, teilnimmt weiterhin an Seitenlebenszyklusereignissen und ist nur aus der Ansicht des Benutzers ausgeblendet, aber ein geschlossenes Steuerelement wird nicht einmal auf einer Seite gerendert.
Sowohl statische WebPart als auch dynamische Steuerelemente (statische Steuerelemente werden im Markup einer Seite deklariert, während dynamische Steuerelemente programmgesteuert hinzugefügt werden) geschlossen werden können.
Wenn ein Entwickler die AllowClose Eigenschaft auf false
legt, wird ein schließende Verb nicht auf dem Steuerelement angezeigt, und der Benutzer kann das Steuerelement nicht schließen.
Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und ASP.NET-Designs und Skins.
Der Personalisierungsbereich dieser Eigenschaft wird auf Shared festgelegt und kann nur von autorisierten Benutzern geändert werden. Weitere Informationen finden Sie unter PersonalizableAttribute und Webparts Übersicht über die Personalisierung.