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.
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ı false
ve 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 false
ayarlarsaAllowClose, 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ış.