WebPart.AllowClose Egenskap

Definition

Hämtar eller anger ett värde som anger om en slutanvändare kan stänga en WebPart kontroll på en webbsida.

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

Egenskapsvärde

trueom kontrollen kan stängas på en webbsida; annars . false Standardvärdet är true.

Attribut

Exempel

Följande kodexempel visar hur du ändrar standardinställningen AllowClose för egenskapen för en anpassad WebPart kontroll, så att den inte kan stängas.

Den första delen av det här exemplet innehåller koden för en anpassad WebPart kontroll med namnet TextDisplayWebPart. Observera att egenskapen i konstruktorn för den anpassade kontrollen TextDisplayWebPart.AllowClose är inställd på , vilket innebär att falseanvändarna inte kan stänga kontrollen på en webbsida. Det innebär att det nära verbet på verbmenyn i kontrollen inaktiveras för användare. För att kodexemplet ska köras måste du kompilera den här källkoden. Du kan kompilera den explicit och placera den resulterande sammansättningen i webbplatsens bin-mapp eller den globala sammansättningscacheminnet. Du kan också placera källkoden i webbplatsens App_Code mapp, där den kompileras dynamiskt vid körning. Det här kodexemplet förutsätter att du kompilerar källkoden till en sammansättning, placerar den i en undermapp för bin i webbprogrammet och refererar till sammansättningen med ett Register direktiv på webbsidan. En genomgång som visar båda kompileringsmetoderna finns i Genomgång: Utveckla och använda en anpassad webbserverkontroll.

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

Den andra delen av exemplet visar hur du refererar till kontrollen TextDisplayWebPart på en ASP.NET webbsida. Observera att i elementet <aspSample:TextDisplayWebPart> som refererar till kontrollen kan du också ändra värdet för egenskapen som angetts av kontrollens konstruktor. Om du vill tillåta att kontrollen stängs lägger du helt enkelt till ett AllowClose="true" attribut till elementet i den deklarativa markeringen.

<%@ 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>

Kommentarer

När en användare stänger en WebPart kontroll på en webbsida är kontrollen inte längre synlig eller tillgänglig på sidan. Den stängda kontrollen läggs till i sidkatalogen, en webbdelsentitet som lagrar en referens till kontrollen. Om en utvecklare lägger till en PageCatalogPart kontroll på sidan i en CatalogZone kontroll kan användarna växla sidan till katalogvisningsläget, välja den stängda kontrollen i sidkatalogen och lägga till den på sidan igen.

Note

En stängd WebPart kontroll kan läggas tillbaka till en sida antingen programmatiskt eller av en användare som väljer den stängda kontrollen från sidkatalogen när sidan är i katalogvisningsläge.

Att stänga en WebPart kontroll skiljer sig från att ta bort den. En stängd kontroll kan läggas tillbaka till en sida, medan en borttagen kontroll tas bort permanent. Mer information om hur du tar bort kontroller finns i DeleteWebPart metoden. Att stänga en kontroll skiljer sig också från att dölja den. En kontroll som är dold finns fortfarande på sidan, deltar fortfarande i händelser i sidlivscykeln och är endast dold från användarens vy, men en stängd kontroll återges inte ens på en sida.

Både statiska och dynamiska WebPart kontroller (statiska kontroller deklareras i en sidas markering, medan dynamiska kontroller läggs till programmatiskt) kan stängas.

Om en utvecklare anger AllowClose egenskapen till falsevisas inte ett nära verb på kontrollen och användaren kan inte stänga kontrollen.

Den här egenskapen kan inte anges med teman eller formatmallsteman. Mer information finns i ThemeableAttribute and ASP.NET Themes and Skins.

Anpassningsomfånget för den här egenskapen är inställt på Shared och kan endast ändras av behöriga användare. Mer information finns i PersonalizableAttributeoch Översikt över anpassning av webbdelar.

Gäller för

Se även