WebPart.AllowClose Propriété

Définition

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é

Boolean

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 TextDisplayWebPart.AllowClose propriété est définie sur false, ce qui a l’effet d’empêcher les utilisateurs de fermer le contrôle sur une page Web. Cela signifie que le verbe proche du menu verbes du contrôle est 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 cache d’assembly global. 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 suppose que vous compilez le code source dans un assembly, placez-le dans un sous-dossier Bin de votre application Web et 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 référence le contrôle, vous pouvez également modifier la valeur de la propriété définie par le constructeur du contrôle. Pour permettre au contrôle d’être fermé, 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 contrôle sur une WebPart 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é 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 catalogue, sélectionner le contrôle fermé dans le catalogue de pages et l’ajouter à 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 du catalogue de catalogues.

La fermeture d’un WebPart contrôle est différente de la suppression. Un contrôle fermé peut être ajouté à une page, tandis qu’un contrôle supprimé est définitivement supprimé. 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 la masquer. Un contrôle masqué est toujours présent sur la page, participe toujours aux événements de cycle de vie de page et n’est masqué qu’à partir de l’affichage de l’utilisateur, mais un contrôle fermé n’est même pas rendu 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 programme) peuvent être fermés.

Si un développeur définit la AllowClose propriété sur false, un verbe proche n’apparaît pas sur le contrôle et l’utilisateur n’est pas en mesure de 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 peaux.

L’étendue de personnalisation de cette propriété est définie Shared et peut être modifiée uniquement par les utilisateurs autorisés. Pour plus d’informations, consultez PersonalizableAttribute et composants WebPart vue d’ensemble de la personnalisation.

S’applique à

Voir aussi