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 die Standardeinstellung der AllowClose Eigenschaft für ein benutzerdefiniertes WebPart Steuerelement so geändert wird, dass es nicht geschlossen werden kann.
Der erste Teil dieses Beispiels enthält den Code für ein benutzerdefiniertes WebPart Steuerelement mit dem Namen TextDisplayWebPart
. Beachten Sie, dass die -Eigenschaft im Konstruktor des benutzerdefinierten Steuerelements auf false
festgelegt ist, was verhindert, TextDisplayWebPart.AllowClose
dass Benutzer das Steuerelement auf einer Webseite schließen. Dies bedeutet, dass das Schließen-Verb im Verbenmenü des Steuerelements für Benutzer deaktiviert wird. 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 App_Code Ordner Ihrer Website ablegen, wo er zur Laufzeit dynamisch kompiliert wird. In diesem Codebeispiel wird davon ausgegangen, dass Sie den Quellcode in eine Assembly kompilieren, ihn in einem Bin-Unterordner Ihrer Webanwendung platzieren und auf die Assembly mit einer Register
Direktive 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 in einer ASP.NET-Webseite verwiesen wird. Beachten Sie, dass Sie in dem <aspSample:TextDisplayWebPart>
Element, das auf das Steuerelement verweist, auch den Wert der Eigenschaft ändern können, die vom Konstruktor des Steuerelements festgelegt wurde. Damit das Steuerelement geschlossen werden kann, fügen Sie dem Element im deklarativen Markup einfach 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 auf der Seite nicht mehr sichtbar oder verfügbar. Das geschlossene Steuerelement wird dem Seitenkatalog hinzugefügt, einer Webpartentität, die einen Verweis auf das Steuerelement speichert. Wenn ein Entwickler der Seite innerhalb eines Steuerelements ein PageCatalogPartCatalogZone Steuerelement hinzufügt, können Benutzer die Seite in den Kataloganzeigemodus wechseln, das geschlossene Steuerelement im Seitenkatalog auswählen und es wieder der 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 einer Seite wieder hinzugefügt werden, während ein gelöschtes Steuerelement endgültig 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 ausgeblendetes Steuerelement ist weiterhin auf der Seite vorhanden, nimmt weiterhin an Seitenlebenszyklusereignissen teil und wird nur in der Ansicht des Benutzers ausgeblendet, aber ein geschlossenes Steuerelement wird nicht einmal auf einer Seite gerendert.
Sowohl statische als auch dynamische WebPart Steuerelemente (statische Steuerelemente werden im Markup einer Seite deklariert, während dynamische Steuerelemente programmgesteuert hinzugefügt werden) können geschlossen werden.
Wenn ein Entwickler die AllowClose Eigenschaft auf false
festlegt, wird im Steuerelement kein schließende Verb 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 ist auf Shared festgelegt und kann nur von autorisierten Benutzern geändert werden. Weitere Informationen finden Sie unter PersonalizableAttributeund Übersicht über die Webpart-Personalisierung.