WebPart.AllowClose Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur qui indique si un utilisateur final peut fermer un contrôle WebPart sur une page Web.
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
Valeur de propriété
true
si le contrôle peut être fermé sur une page Web ; sinon, false
. La valeur par défaut est true
.
- Attributs
Exemples
L’exemple de code suivant montre comment modifier le paramètre par défaut de la AllowClose propriété pour un contrôle personnalisé WebPart , afin qu’il ne puisse pas être fermé.
La première partie de cet exemple contient le code d’un contrôle personnalisé WebPart nommé TextDisplayWebPart
. Notez que dans le constructeur du contrôle personnalisé, la propriété a la TextDisplayWebPart.AllowClose
valeur false
, ce qui a pour effet d’empêcher les utilisateurs de fermer le contrôle sur une page web. Cela signifie que le verbe de fermeture dans le menu verbes du contrôle sera désactivé pour les utilisateurs. Pour que l’exemple de code s’exécute, vous devez compiler ce code source. Vous pouvez le compiler explicitement et placer l’assembly résultant dans le dossier Bin de votre site web ou dans le global assembly cache. Vous pouvez également placer le code source dans le dossier App_Code de votre site, où il sera compilé dynamiquement au moment de l’exécution. Cet exemple de code part du principe que vous compilez le code source dans un assembly, que vous le placez dans un sous-dossier Bin de votre application web et que vous référencez l’assembly avec une Register
directive dans votre page web. Pour obtenir une procédure pas à pas qui illustre les deux méthodes de compilation, consultez Procédure pas à pas : développement et utilisation d’un contrôle de serveur web personnalisé.
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
La deuxième partie de l’exemple montre comment référencer le TextDisplayWebPart
contrôle dans une page Web ASP.NET. Notez que dans l’élément <aspSample:TextDisplayWebPart>
qui fait référence au contrôle, vous pouvez également modifier la valeur de la propriété définie par le constructeur du contrôle. Pour permettre la fermeture du contrôle, ajoutez simplement un AllowClose="true"
attribut à l’élément dans le balisage déclaratif.
<%@ 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>
Remarques
Une fois qu’un utilisateur ferme un WebPart contrôle sur une page web, le contrôle n’est plus visible ou disponible sur la page. Le contrôle fermé est ajouté au catalogue de pages, une entité de composants WebPart qui stocke une référence au contrôle. Si un développeur ajoute un PageCatalogPart contrôle à la page dans un CatalogZone contrôle, les utilisateurs peuvent basculer la page en mode d’affichage du catalogue, sélectionner le contrôle fermé dans le catalogue de pages et le rajouter à la page.
Notes
Un contrôle fermé WebPart peut être ajouté à une page par programmation ou par un utilisateur qui sélectionne le contrôle fermé dans le catalogue de pages lorsque la page est en mode d’affichage catalogue.
La fermeture d’un WebPart contrôle est différente de sa suppression. Un contrôle fermé peut être ajouté à une page, tandis qu’un contrôle supprimé est supprimé définitivement. Pour plus d’informations sur la suppression de contrôles, consultez la DeleteWebPart méthode . La fermeture d’un contrôle est également différente de sa masquage. Un contrôle masqué est toujours présent sur la page, participe toujours aux événements du cycle de vie des pages et n’est masqué que dans l’affichage de l’utilisateur, mais un contrôle fermé n’est même pas affiché sur une page.
Les contrôles statiques et dynamiques WebPart (les contrôles statiques sont déclarés dans le balisage d’une page, tandis que les contrôles dynamiques sont ajoutés par programmation) peuvent être fermés.
Si un développeur définit la AllowClose propriété sur false
, un verbe de fermeture n’apparaît pas sur le contrôle et que l’utilisateur ne peut pas fermer le contrôle.
Cette propriété ne peut pas être définie par les thèmes ou les thèmes de feuille de style. Pour plus d’informations, consultez ThemeableAttribute et ASP.NET thèmes et skins.
L’étendue de personnalisation de cette propriété est définie Shared sur et ne peut être modifiée que par les utilisateurs autorisés. Pour plus d’informations, consultez PersonalizableAttributeVue d’ensemble de la personnalisation des composants WebPart.