Bagikan melalui


WebPart.AllowClose Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pengguna akhir dapat menutup WebPart kontrol pada halaman 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

Nilai Properti

true jika kontrol dapat ditutup pada halaman Web; jika tidak, false. Nilai defaultnya adalah true.

Atribut

Contoh

Contoh kode berikut menunjukkan cara mengubah pengaturan AllowClose default properti untuk kontrol kustom WebPart , sehingga tidak dapat ditutup.

Bagian pertama dari contoh ini berisi kode untuk kontrol kustom WebPart bernama TextDisplayWebPart. Perhatikan bahwa dalam konstruktor kontrol kustom, TextDisplayWebPart.AllowClose properti diatur ke false, yang memiliki efek mencegah pengguna menutup kontrol pada halaman Web. Ini berarti bahwa kata kerja penutup pada menu kata kerja kontrol akan dinonaktifkan untuk pengguna. Agar contoh kode berjalan, Anda harus mengkompilasi kode sumber ini. Anda dapat mengkompilasinya secara eksplisit dan meletakkan rakitan yang dihasilkan di folder Bin situs Web Anda atau cache perakitan global. Atau, Anda dapat meletakkan kode sumber di folder App_Code situs Anda, di mana kode tersebut akan dikompilasi secara dinamis pada durasi. Contoh kode ini mengasumsikan bahwa Anda mengkompilasi kode sumber ke dalam perakitan, menempatkannya di subfolder Bin aplikasi Web Anda, dan mereferensikan perakitan dengan Register arahan di halaman Web Anda. Untuk panduan yang menunjukkan kedua metode kompilasi, lihat Panduan: Mengembangkan dan Menggunakan Kontrol Server Web Kustom.

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

Bagian kedua dari contoh menunjukkan cara mereferensikan TextDisplayWebPart kontrol di halaman web ASP.NET. Perhatikan bahwa dalam <aspSample:TextDisplayWebPart> elemen yang mereferensikan kontrol, Anda juga dapat mengubah nilai properti yang ditetapkan oleh konstruktor kontrol. Untuk memungkinkan kontrol ditutup, cukup tambahkan AllowClose="true" atribut ke elemen dalam markup deklaratif.

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

Keterangan

Setelah pengguna menutup WebPart kontrol pada halaman Web, kontrol tidak lagi terlihat atau tersedia di halaman. Kontrol tertutup ditambahkan ke katalog halaman, entitas Komponen Web yang menyimpan referensi ke kontrol. Jika pengembang menambahkan PageCatalogPart kontrol ke halaman dalam CatalogZone kontrol, pengguna dapat mengalihkan halaman ke mode tampilan katalog, memilih kontrol tertutup di katalog halaman, dan menambahkannya kembali ke halaman.

Catatan

Kontrol tertutup WebPart dapat ditambahkan kembali ke halaman baik secara terprogram, atau oleh pengguna yang memilih kontrol tertutup dari katalog halaman saat halaman berada dalam mode tampilan katalog.

WebPart Menutup kontrol berbeda dari menghapusnya. Kontrol tertutup dapat ditambahkan kembali ke halaman, sementara kontrol yang dihapus dihapus secara permanen. Untuk informasi selengkapnya tentang menghapus kontrol, lihat DeleteWebPart metode . Menutup kontrol juga berbeda dari menyembunyikannya. Kontrol yang tersembunyi masih ada di halaman, masih berpartisipasi dalam peristiwa siklus hidup halaman, dan hanya tersembunyi dari tampilan pengguna, tetapi kontrol tertutup bahkan tidak dirender di halaman.

Kontrol statis dan dinamis WebPart (kontrol statis dideklarasikan dalam markup halaman, sementara kontrol dinamis ditambahkan secara terprogram) dapat ditutup.

Jika pengembang mengatur properti ke AllowClosefalse, kata kerja tutup tidak muncul pada kontrol, dan pengguna tidak dapat menutup kontrol.

Properti ini tidak dapat diatur oleh tema atau tema lembar gaya. Untuk informasi selengkapnya, lihat ThemeableAttribute dan ASP.NET Tema dan Kulit.

Cakupan personalisasi properti ini diatur ke Shared dan hanya dapat dimodifikasi oleh pengguna yang berwenang. Untuk informasi selengkapnya, lihat PersonalizableAttribute dan Gambaran Umum Personalisasi Bagian Web.

Berlaku untuk

Lihat juga