Aracılığıyla paylaş


WebPart.AllowClose Özellik

Tanım

Son kullanıcının Web sayfasındaki bir denetimi kapatıp kapatamayacağını belirten bir WebPart değer alır veya ayarlar.

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

Özellik Değeri

true Denetim bir Web sayfasında kapatılabiliyorsa; aksi takdirde , false. true varsayılan değerdir.

Öznitelikler

Örnekler

Aşağıdaki kod örneğinde, özel WebPart denetim için özelliğin varsayılan ayarının AllowClose kapatılamayacak şekilde nasıl değiştirileceği gösterilmektedir.

Bu örneğin ilk bölümü adlı TextDisplayWebPartözel WebPart denetimin kodunu içerir. Özel denetimin oluşturucusunda özelliğinin TextDisplayWebPart.AllowClose olarak ayarlandığını falseve bu özelliğin, kullanıcıların Web sayfasındaki denetimi kapatmasını engelleme etkisine sahip olduğunu unutmayın. Bu, denetimin fiiller menüsündeki kapatma fiilinin kullanıcılar için devre dışı bırakılacağı anlamına gelir. Kod örneğinin çalışması için bu kaynak kodunu derlemeniz gerekir. Bunu açıkça derleyebilir ve sonuçta elde edilen derlemeyi Web sitenizin Bin klasörüne veya genel derleme önbelleğine yerleştirebilirsiniz. Alternatif olarak, kaynak kodu sitenizin App_Code klasörüne koyabilirsiniz; burada çalışma zamanında dinamik olarak derlenir. Bu kod örneğinde, kaynak kodu bir derlemeye derlediğiniz, Web uygulamanızın bir Bin alt klasörüne yerleştirdiğiniz ve Web sayfanızdaki bir Register yönergeyle derlemeye başvurduğunuz varsayılır. Her iki derleme yöntemini de gösteren bir izlenecek yol için bkz. İzlenecek Yol: Özel Web Sunucusu Denetimi Geliştirme ve Kullanma.

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

Örneğin ikinci bölümünde, ASP.NET Web sayfasındaki denetime TextDisplayWebPart başvurma gösterilmektedir. Denetime başvuran öğesinde <aspSample:TextDisplayWebPart> , denetimin oluşturucusunun ayarladığı özelliğin değerini de değiştirebildiğinizi unutmayın. Denetimin kapatılmasına izin vermek için bildirim temelli işaretlemedeki öğesine bir AllowClose="true" öznitelik eklemeniz yeterlidir.

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

Açıklamalar

Kullanıcı Web sayfasındaki bir WebPart denetimi kapattıktan sonra, denetim artık sayfada görünmez veya kullanılamaz. Kapalı denetim, denetime başvuruyu depolayan bir Web Bölümleri varlığı olan sayfa kataloğuna eklenir. Bir geliştirici denetim içindeki CatalogZone sayfaya denetim PageCatalogPart eklerse, kullanıcılar sayfayı katalog görüntüleme moduna geçirebilir, sayfa kataloğunda kapalı denetimi seçebilir ve sayfaya geri ekleyebilir.

Not

Kapalı WebPart denetim, sayfaya program aracılığıyla veya sayfa katalog görüntüleme modundayken sayfa kataloğundan kapalı denetimi seçen bir kullanıcı tarafından yeniden eklenebilir.

WebPart Denetimin kapatılması, denetimin silinmesinden farklıdır. Silinen denetim kalıcı olarak kaldırılırken, kapalı denetim sayfaya geri eklenebilir. Denetimleri silme hakkında daha fazla bilgi için yöntemine DeleteWebPart bakın. Denetimin kapatılması, denetimi gizlemekten de farklıdır. Gizli olan bir denetim hala sayfada bulunur, sayfa yaşam döngüsü olaylarına katılmaya devam eder ve yalnızca kullanıcının görünümünden gizlenir, ancak kapalı bir denetim sayfada işlenmez bile.

Hem statik hem de dinamik WebPart denetimler (statik denetimler sayfanın işaretlemesinde bildirilirken, dinamik denetimler program aracılığıyla eklenir) kapatılabilir.

Geliştirici özelliğini olarak falseayarlarsaAllowClose, denetimde bir kapatma fiili görünmez ve kullanıcı denetimi kapatamaz.

Bu özellik temalar veya stil sayfası temaları tarafından ayarlanamaz. Daha fazla bilgi için bkz ThemeableAttribute . temalar ve dış görünümler ASP.NET.

Bu özelliğin kişiselleştirme kapsamı olarak Shared ayarlanır ve yalnızca yetkili kullanıcılar tarafından değiştirilebilir. Daha fazla bilgi için bkz PersonalizableAttribute . ve Web Bölümleri Kişiselleştirmeye Genel Bakış.

Şunlara uygulanır

Ayrıca bkz.