WebPart.AllowClose Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir son kullanıcının Web sayfasındaki 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. Varsayılan değer true değeridir.
- Öznitelikler
Örnekler
Aşağıdaki kod örneğinde, özel denetim için özelliğin WebPart 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 kodu 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 yerleştirebilirsiniz; burada çalışma zamanında dinamik olarak derlenir. Bu kod örneği, kaynak kodu bir derlemede derlediğiniz, Web uygulamanızın Bir Bin alt klasörüne yerleştirdiğiniz ve Derlemeye Web sayfanızdaki bir Register yönergeyle 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 başvurma TextDisplayWebPart gösterilmektedir. Denetime <aspSample:TextDisplayWebPart> başvuran öğesinde, denetimin oluşturucusunun ayarladığı özellik 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şvuru 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.
Uyarı
Kapalı WebPart denetim, program aracılığıyla veya sayfa katalog görüntüleme modundayken sayfa kataloğundan kapalı denetimi seçen bir kullanıcı tarafından sayfaya geri eklenebilir.
Denetimin WebPart 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. Denetimi kapatmak, denetimi gizlemekten de farklıdır. Gizlenen 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.
Hem statik hem de dinamik WebPart denetimler (statik denetimler sayfanın işaretlemesinde bildirilirken, dinamik denetimler program aracılığıyla eklenir) kapatılabilir.
Bir 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'i 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ış.